Bash Изменить Размер Терминала Xterm

Я ищу универсальную встроенную команду, которая изменяет размер терминалов на основе Xterm.

это какая-то команда, которая не создаст новое окно, которую мне не нужно будет включать в файл, с которого запускаются эти терминалы.

Я хочу сделать приложение, которое будет открываться в кадре 60х30, но только после того, как вы запустите команду

myapp run

Я не хочу, чтобы мой терминал всегда открывался в 30x60, я просто хочу, чтобы он изменял размер при запуске myapp.

5
задан Blue Ice
источник

3 ответов

У меня нет Mac, так что я не могу попробовать это, но wmctrl - это юниксовая так должны работа для OSX, а также. Попробуйте что-то вроде:

 wmctrl -r :ACTIVE: -e 5,-1,-1,660,540
        -----------   -- -- -- --- ---
             |         | |  |   |   |---> Window height
             |         | |  |   |-------> Window width             
             |         | |  |-----------> Window Y coordinates
             |         | |--------------> Window X coordinates
             |         |----------------> Gravity
             |--------------------------> Apply to the active window

гравитация может быть одним из (источник):

  • Северо-Запад (1)
  • North (2),
  • Северо-Восток (3),
  • West (4),
  • Center (5),
  • East (6),
  • юго-запад (7),
  • South (8),
  • юго-восток (9)
  • Static (10).

гравитация 0 указывает, что оконный менеджер должен использовать гравитацию, указанную в WM_SIZE_HINTS.win_gravity.

2
отвечен terdon 2013-03-31 15:38:47
источник

существует escape-последовательность ANSI, что большинство терминалов (включая терминал.app) должен принять:

$ echo -e "\e[8;30;60t"

это изменит размер вашего терминала, чтобы иметь 30 строк и 60 столбцов (поменять местами 30 и 60, если я неправильно понял размеры, которые вы хотите).

пока эта строка записывается в терминал, вы можете использовать его в любом месте. Вы можете сделать его частью myapp, или создайте функцию оболочки в качестве оболочки:

myapp () {
    echo -e "\e[8;30;60t"
    command myapp "$@"
}
2
отвечен chepner 2013-04-01 18:27:01
источник

вы можете попробовать AppleScript. Вот пример для tun vim:

#!/bin/sh 
# Script runvim.sh
osascript  <<EOF
tell app "Terminal"
  set number of rows of first window to 34
  set number of columns of first window to 96
  set custom title of first window to "vim"
end tell
EOF
vim $@

это встроено, но вам, возможно, придется узнать, как различать терминал и iTerm2. Либо вы знаете, что ваши пользователи хотят использовать, либо вы позволяете им выбирать (или что-то более умное: -)).

0
отвечен rfindeis 2013-04-01 13:18:22
источник

Другие вопросы bash command-line-tool linux mac terminal