在不编辑 ~/.Xdefaults 的情况下增加 rxvt-unicode 中的字体大小

12 fonts rxvt

我是一个忠实的 Linux 粉丝,最近花了很多时间在 Mac 上使用 iTerm。我真的很喜欢 Mac 的一件事,尤其是 iTerm,是能够使用键盘快捷键来增大/减小字体大小。我相信这是 apple+ 和 apple- 来做到这一点。AFAIK 这也可以使用 gnome-terminal 和可能的 konqueror。

但是,我是 rxvt-unicode 用户。时期。我不愿意切换终端,但我希望能够快速调整字体大小。目前,要调整字体大小,我必须这样做:

  1. 分离 tmux
  2. $EDITOR ~/.Xdefaults
  3. xrdb -all ~/.Xdefaults
  4. 关闭终端
  5. 打开一个新终端
  6. 重新连接 tmux

我认为必须可以编写一些脚本,通过绑定到键盘快捷键,可能使用 xbindkeys 或类似的东西,将上述步骤简化为一个步骤。任何人都对如何最好地实现这一点有任何想法?

注意:我正在使用很棒的窗口管理器,并且更喜欢让事情保持超简单(即,请不要使用 Gnome/KDE 特定的解决方案)。

@Keith:我对转义序列很熟悉,我没有在最初的问题中明确说出来是我的错,但是:我正在寻找一种可以在会话之间持续存在的解决方案。这可能涉及编写一些代码。

Kei*_*ith 15

从手册页:

更改字体 rxvt-unicode 尚不支持通过键盘更改字体(或分别为字体大小)。如果你需要这个,请找我。

   You can, however, switch fonts at runtime using escape sequences,
Run Code Online (Sandbox Code Playgroud)

例如:

      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
Run Code Online (Sandbox Code Playgroud)

远的。

根据您使用的外壳,您可以将它们分配给键盘快捷键。例如,在 zsh 中,您可以定义一个 shell 函数并使用 bindkey 将其绑定到一个 alt 键。


小智 3

这是一个有效的方法,并且在会话之间持续存在:

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