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

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

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

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

myapp run

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

6
задан Blue Ice
08.04.2023 14:29 Количество просмотров материала 2480
Распечатать страницу

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 2023-04-09 22:17

существует 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 2023-04-10 00:34

вы можете попробовать 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 2023-04-10 02:51

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх