Aumente o tamanho da fonte no rxvt-unicode sem editar ~ / .Xdefaults

11

Sou um fã leal do Linux que gasta muito tempo usando o iTerm em um Mac recentemente. Uma coisa que eu realmente gosto no mac, e no iTerm em particular, é a capacidade de usar um atalho de teclado para aumentar / diminuir o tamanho da fonte. Eu acredito que é apple + e apple- para fazer isso. AFAIK isso também é possível usando o gnome-terminal e possivelmente o konqueror.

No entanto, eu sou um usuário rxvt-unicode. Período. Não estou disposto a mudar de terminal, mas gostaria de poder redimensionar rapidamente a fonte. Atualmente, para redimensionar a fonte, eu tenho que fazer isso:

  1. Desanexar tmux
  2. $ EDITOR ~ / .Xdefaults
  3. xrdb -all ~ / .Xdefaults
  4. fechar terminal
  5. abrir um novo terminal
  6. Reattach tmux

Estou pensando que deve ser possível criar um script que reduza as etapas acima a uma, talvez vinculando a um atalho de teclado, talvez com xbindkeys ou algo semelhante. Alguém tem alguma idéia de como isso pode ser melhor realizado?

Nota: Estou usando um gerenciador de janelas incrível e prefiro manter as coisas extremamente simples (por exemplo, sem soluções específicas para o Gnome / KDE).

@ Keith: Eu estou familiarizado com as seqüências de escape e é minha culpa por não ter dito isso explicitamente na minha pergunta original, mas: estou procurando uma solução que persista entre as sessões. É provável que isso envolva a escrita de algum código.

g33kz0r
fonte

Respostas:

15

Na página do manual:

MUDANDO FONTES A alteração de fontes (ou tamanhos de fonte, respectivamente) através do teclado ainda não é suportada no rxvt-unicode. Me incomode se você precisar disso.

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

por exemplo:

      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

longe.

Dependendo do shell que você usa, você pode atribuí-los aos atalhos do teclado. No zsh, você pode definir uma função shell e usar bindkey para ligá-la a uma tecla alt, por exemplo.

Keith
fonte
Corrija-me se eu estiver errado, mas isso não persistirá, certo?
g33kz0r
Claro que sim. Os atalhos de teclado que você coloca no seu arquivo ~ / .Xdefaults. Se você usar as funções do shell e as combinações de teclas, coloque-as no seu arquivo ~ / .zshrc (ou qualquer outro).
Keith
Acho que estamos definindo "persistir" de maneira diferente. Sua solução proposta de ecoar seqüências de escape não persistirá em um novo processo (nova janela do terminal). Veja minha resposta (aceita) abaixo para uma solução que "persiste" no sentido de que ela sobrevive ao processo pai.
G33kz0r 06/07/2012
2

Estou respondendo à minha própria pergunta (com código!) E voto a favor de Keith por sua sugestão chave. No entanto, a solução de Keith não mantém a fonte redimensionada no arquivo Xresources, para que o redimensionamento esteja disponível quando a próxima janela for aberta, enquanto a minha:

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

g33kz0r
fonte