Увеличьте размер шрифта в rxvt-unicode без редактирования ~ / .Xdefaults

11

Я верный поклонник Linux, который в последнее время много времени использует iTerm на Mac. Одна вещь, которая мне действительно нравится в Mac, и в частности в iTerm, это возможность использовать сочетание клавиш для увеличения / уменьшения размера шрифта. Я считаю, что это яблоко + и яблоко-, чтобы сделать это. AFAIK это также возможно, используя gnome-терминал и, возможно, konqueror.

Тем не менее, я пользователь rxvt-unicode. Период. Я не хочу переключать свой терминал, но я хотел бы иметь возможность быстро изменить размер шрифта. В настоящее время, чтобы изменить размер шрифта, я должен сделать это:

  1. Отсоединить tmux
  2. $ EDITOR ~ / .Xdefaults
  3. xrdb -all ~ / .Xdefaults
  4. закрыть терминал
  5. открыть новый терминал
  6. Reattach Tmux

Я думаю, что должно быть возможно написать что-то, что уменьшило бы вышеупомянутые шаги до одного, возможно, связавшись с сочетанием клавиш, возможно, с помощью xbindkeys или чего-то подобного. У кого-нибудь есть мысли о том, как лучше всего это сделать?

Примечание: я использую отличный оконный менеджер и предпочитаю делать вещи максимально простыми (т. Е. Никаких специфичных для Gnome / KDE решений, пожалуйста).

@Keith: Я знаком с escape-последовательностями, и я виноват в том, что не сказал так явно в моем первоначальном вопросе, но: я ищу решение, которое будет сохраняться между сессиями. Вероятно, это потребует написания некоторого кода.

g33kz0r
источник

Ответы:

15

Со страницы руководства:

ИЗМЕНЕНИЕ ШРИФТОВ Изменение шрифтов (или размеров шрифтов соответственно) с помощью клавиатуры пока не поддерживается в rxvt-unicode. Баг меня, если тебе это нужно.

   You can, however, switch fonts at runtime using escape sequences,

например:

      printf '\e]710;%s\007' "9x15bold,xft:Kochi Gothic"

   You can use keyboard shortcuts, too:

      URxvt.keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
      URxvt.keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007

   rxvt-unicode will automatically re-apply these fonts to the output so

далеко.

В зависимости от используемой вами оболочки вы можете назначить их комбинациям клавиш. В zsh вы можете определить функцию оболочки и использовать bindkey, например, чтобы связать ее с alt-ключом.

Кит
источник
Поправьте меня, если я ошибаюсь, но это не будет сохраняться, верно?
g33kz0r
Конечно, это будет. Сочетания клавиш в вашем файле ~ / .Xdefaults. Если вы используете функции оболочки и сочетания клавиш, вы помещаете их в файл ~ / .zshrc (или любой другой).
Кит
Я думаю, что мы определяем «упорствовать» по-другому. Предложенное вами решение повторения escape-последовательностей не будет сохраняться в новом процессе (новом окне терминала). Смотрите мой (принятый) ответ ниже для решения, которое «сохраняется» в том смысле, что оно переживает свой родительский процесс.
g33kz0r
2

Я отвечаю на свой собственный вопрос (с кодом!) И голосую за Кита за его предложение кейсима. Однако решение Кейта не сохраняет измененный размер шрифта в файле Xresources, поэтому изменение размера доступно при открытии следующего окна, в то время как у меня это:

https://github.com/noah/urxvt-font

g33kz0r
источник