Текущий размер окна xterm

Я хотел бы знать размеры моего текущего окна xterms. Я использую Cygwin. Есть ли команда, чтобы просто напечатать это в подсказку?

4 ответа

Решение

Если это фактический xterm, должно работать следующее (проверено на сеансе PuTTY, так как на данный момент Cygwin не установлен):

stty -a | sed 's/;/\n/g' | grep rows | awk '{print $2}'

В моем случае это вернулось 24, Так же,

stty -a | sed 's/;/\n/g' | grep columns | awk '{print $2}'

возвращенный 80,

Все задействованные команды должны быть стандартными в Cygwin или любой UNIX-подобной системе. Я был бы очень удивлен, если бы они не работали одинаково хорошо в командной строке Cygwin.

Дает вам размер в символах:

 echo $COLUMNS " " $LINES

Работает ли это в cygwin? Вы говорите нам!

Установите ncurses пакет, затем выполните

tput cols; tput lines

Если вы хотите избежать поиска и заменить регулярное выражение и команду sed...

Примечание: Запустите stty -a отдельно, чтобы определить положение значения строк.

stty -a | grep rows | tr -d ';' | awk {'print $5'}

В моем случае (xterm в Open Solaris под управлением Gnome) это вернулось 24.


Если вы хотите избежать использования поиска и заменить регулярное выражение, sed и awk...

stty -a | grep rows | tr -d ';' | cut -d ' ' -f 5

Опять 24.


Если вы хотите избежать использования поиска и заменить регулярные выражения, sed, grep и awk...

stty -a | head -n 1 | tr -d ';' | cut -d ' ' -f 5

Опять 24.

Вы можете найти ширину вашего терминала, просто изменив одну из этих команд так, чтобы она указывала на значение столбцов stty -a.


Если вам не нравится использование stty -a ...

resize | grep LINES | tr -d ';' | cut -d = -f 2

а также

resize | grep COLUMNS | tr -d ';' | cut -d = -f 2
Другие вопросы по тегам