Какие сочетания клавиш изменяют размер текста терминала `xfce4-Terminal`?


11

Раньше считалось, что Ctrl+ -и Ctrl+ +увеличивают или уменьшают размер текста терминала в более ранних версиях Ubuntu, что полезно, когда вы проводите презентации и хотите показать свой код в большем размере. Я переключился на Xubuntu 12.04, и мне не хватает этих сочетаний клавиш.

Есть ли альтернатива, которую я могу использовать? Или, если нет, могу ли я определить свой собственный ярлык, чтобы заменить их?

Обновление: рад сообщить, что этот вопрос теперь не актуален для последних версий xfce4-terminal! Смотрите здесь .

Ответы:


5

Вместо того, чтобы полагаться на Python и отсутствующие модули, как в решении github от Noah K. Tilton, я составил сценарий bash, который на шаг ближе к тому, чтобы стать более переносимым (по крайней мере, для установок, использующих самые общие пути по умолчанию).

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

Всего 2 файла, помещенных в папку ~ / bin моего дома, "zoomin" и "zoomout". Я не пошел дальше, чем создание коротких команд, которые я могу быстро набрать, поэтому я понятия не имею, как я могу настроить эти сценарии так, чтобы они отвечали ТОЛЬКО, когда я нахожусь внутри xfce4-терминала - это означает, что Я перестал думать о том, как сделать привязки клавиш, созданные для Ctrl+ -и Ctrl+, +потому что в настоящее время я знаю только о глобальных привязках клавиатуры и не хочу переопределять эти комбинации клавиш, поскольку они понадобятся другим приложениям (например, веб-браузер, текстовый редактор).

Я также подумал о том, чтобы использовать «zoommin» и «zoommax», чтобы переходить к моим самым маленьким и самым крупным шрифтам, когда это необходимо, обычно, когда мне нужно видеть тонны текста VS, когда мне нужно показать коллеге что-то на моем экране. Я оставлю эти два сценария на ваше воображение о том, как создавать: P

~ / Bin / ZoomIn

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE + 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

~ / Bin / ZoomOut

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE - 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

Не уверен, что я понимаю, что вы подразумеваете под «отсутствующими модулями» - мой скрипт на python использует стандартную библиотеку. Я думаю, что переносимость bash / python является проблемой. Тем не менее, ваш может быть более производительным - за счет некоторой читабельности.
g33kz0r

Я испытал это среди прочего. Честно говоря, Ноа К был против настройки своего сценария, чтобы облегчить жизнь пользователям * buntu. Я просто перепроектировал эту штуку, чтобы она стала немного более универсальной, полностью исключив требование Python. : 3
Старлок

Вы сообщили об ошибке XDG_CONFIG_PATH- строка, которая не появляется в моем сценарии. А? Предполагая , что вы имели в виду XDG_CONFIG_HOME, что это появляется в моем сценарии, вы можете захотеть , чтобы проверить superuser.com/questions/365847/... , который в основном говорит , что это до пользователя , чтобы определить его. Не уверен, что были «другие вещи» :) Мнения могут отличаться, но я думаю, что 1 параметризованный скрипт на python немного чище, чем 2 скрипта bash.
g33kz0r

1
если речь идет о коротком удобочитаемом изменении текста, я бы предложил Perl, perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrcа не возиться с bash
Hachi

1
Круто, основываясь на этом, я создал три метода, которые я добавил в свой файл ~ / .bash_aliases: zi, zo и z, каждый из которых принимает в качестве первого аргумента либо шаги для увеличения (zi и zo), либо размер целевого шрифта (z) : gist.github.com/samuell/107a498821c88426fa5a . Итак, чтобы установить размер текста на 12, я бы сделал z 12, и чтобы увеличить масштаб за один шаг, я бы сделал zi 1.
Самуэль Лампа

4

Обновление: с этого коммита теперь поддерживается изменение размера с помощью Ctrl +и Ctrl -, что снимает вопрос.

Другие ответы в этой теме по-прежнему полезны, если вы используете более старые версии xfce4-terminal.


1
На клавиатуре en_US вам нужно Ctrl+ Shift+, =чтобы увеличить и Ctrl+, -чтобы уменьшить. Ни Ctrl+, =ни Ctrl+ Shift+ не -будет работать, ни клавиатура, +и -, что очень плохо.
Адам Кац

3

Упомянутые вами ярлыки предназначены для терминала gnome, терминала по умолчанию, используемого gnome (и, как следствие, стандартным Ubuntu). XFCE, основная среда в Xubuntu, имеет собственную реализацию терминала. Однако, насколько я могу судить, в xfce4-терминал невозможно изменить размер шрифта с помощью ярлыка (вы можете увидеть список возможных ярлыков при переходе в «Правка-> Настройки-> Ярлыки»).

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


Спасибо за ответ. Как же неутешительно! :(
Джон Феминелла

Что ж, XFCE должен быть быстрым и быстрым, поэтому, естественно, ему пришлось отказаться от функций.
января

@ Январь Я думаю, что ваш ответ продает этот вопрос немного короче, пожалуйста, смотрите мой ответ ниже.
g33kz0r

@ g33kz0r Нет, Старлок (принятый ответ) уже сделал хороший пример.
январь

@ Январь, хорошо, что было опубликовано после моего ответа :)
g33kz0r

1

Это является возможным, хотя и не через xfce4 собственно, используя этот обходной путь:

https://github.com/noah/xfce4-terminal-font

(требуется питон).

Я использую его в удивительном оконном менеджере, как это:

awful.key({ "Control", "Shift" }, "Up", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font +", false)end),
awful.key({ "Control", "Shift" }, "Down", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font -", false)end),

Это немного взломать, но это работает.


Это имеет тот же недостаток, что и ответ @starlocke (который также упомянул, что это решение Ноя): он создает ярлык менеджера окон, а не ярлык терминала. Поскольку ctrl-shift-up или ctrl-shift-down являются довольно распространенными комбинациями клавиш (не говоря уже о более типичных сочетаниях клавиш ctrl + и ctrl -, используемых для изменения размера шрифта, например, в gnome-Terminal), это может привести к конфликтам клавиш и / или отсутствие согласованности.
январь

Все верно ... но я не думаю, что коллизия так важна - если она сталкивается, просто поменяйте ярлык ... Я бы также отметил, что OP не запрашивал ярлык терминала - он просто спросил, как сделать это - и ваш ответ о том, что «в xfce4-терминал невозможно изменить размер шрифта с помощью ярлыка», является неточным.
g33kz0r

1

В то время как остальные ответы здесь требуют от вас создания некоторого типа «хака» с использованием пользовательских сценариев, которые могут или не могут сломаться при обновлении вашей системы, фактический / другой ответ был найден в вопросе StackOverflow здесь:

Может ли Vim увеличивать и уменьшать масштаб?

По пользователю: Chenming Zhang

Edit > Preferences > Appearance

Вы увидите вариант: Font

Который содержит как выбранный шрифт, так и размер шрифта-текста.

Я знаю, что вы ищете «ярлык», но все остальные опции, похоже, требуют большой настройки, тогда как этот маршрут гарантирует, что вы не испортите свой терминал с какими-либо настройками.

Этот ответ также публикуется здесь для всех, кому нужна альтернативная опция ctrl +-для увеличения / уменьшения.


0

Следующий скрипт проверяет, работает ли терминал Xfce4. Если это не так, скрипт завершается. Этот скрипт использует аргументы, script-name --inчтобы увеличить или script-name --outуменьшить масштаб. Это будет работать для любого типа шрифта. (Различные типы шрифтов имеют разное количество слов.)

Я назвал свой скрипт Terminal-Zoom, и я использую Ctrl Alt +для terminal-zoom --inи Ctrl Alt -для terminal-zoom --out.

#!/bin/bash

# Check if Xfce4 Terminal is running. If it is not, exit.
status=$(pgrep xfce4-terminal)

if [ -z "$status" ]; then
    notify-send "No Xfce4 Terminal session is open."
    exit 1
fi

# 1. Get the full line. 2. Get the entire line minus font size. 3. Get only font size. 
line=$(grep "FontName" ~/.config/xfce4/terminal/terminalrc)
font_name=$(echo "$line" | sed s/'\w*$'//)
font_size=$(echo "$line" | grep -oE '[^ ]+$')

# Increase or decrease font size. You might want to change this to increase and decrease by two.
if [ "$1" = "--in" ]; then
    new_size=$((font_size + 1))
elif [ "$1" = "--out" ]; then
    new_size=$((font_size - 1))
else
    notify-send "Argument options: --in --out"
    exit 1
fi

# Replace the line with the new font size.
action='s/'$font_name$font_size'/'$font_name$new_size'/'
sed -i "$action" ~/.config/xfce4/terminal/terminalrc

# Show the new current font being used.
notify-send -t 200 "$new_size pt font"

0

В настоящее время xfce-term не предлагает быстрых клавиш для увеличения. Рассмотрим терминатор, который облегчает зависимости (в отличие от термина Gnome) и предлагает увеличение и уменьшение масштаба с помощью сочетания клавиш CTRL + SHIFT + "+"


0

Это старая ветка, но было любопытно, как это сделали другие. Я использую i3-wm и написал этот скрипт для использования с ним

#!/bin/bash

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC

Я улучшил это, глядя на сценарий кем-то еще здесь

#!/bin/bash

#Check if xfce4-terminal is running, If not exit.
Status=$(pgrep xfce4-terminal)
if [ -z "$Status" ] 
    then
        exit 1
fi

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.