Tambah ukuran font di rxvt-unicode tanpa mengedit ~ / .Xdefaults

11

Saya seorang penggemar Linux setia yang telah menghabiskan banyak waktu menggunakan iTerm pada mac belakangan ini. Satu hal yang sangat saya sukai tentang mac, dan ITerm pada khususnya, adalah kemampuan untuk menggunakan pintasan keyboard untuk mengurangi ukuran font. Saya percaya ini apel + dan apel- untuk melakukan ini. AFAIK ini juga dimungkinkan menggunakan terminal gnome dan mungkin konqueror.

Namun, saya adalah pengguna rxvt-unicode. Titik. Saya tidak mau mengganti terminal saya, tetapi saya ingin dapat memiliki kemampuan untuk mengubah ukuran font dengan cepat. Saat ini, untuk mengubah ukuran font saya harus melakukan ini:

  1. Lepaskan tmux
  2. $ EDITOR ~ / .Xdefaults
  3. xrdb -semua ~ / .Xdefaults
  4. tutup terminal
  5. buka terminal baru
  6. Pasang kembali tmux

Saya berpikir bahwa mungkin untuk membuat skrip sesuatu yang akan mengurangi langkah-langkah di atas menjadi satu dengan mungkin mengikat ke pintasan keyboard, mungkin dengan xbindkeys atau yang serupa. Adakah yang memiliki pemikiran tentang bagaimana hal ini dapat dilakukan?

Catatan: Saya menggunakan window manager yang luar biasa dan lebih suka menjaga hal-hal yang sangat sederhana (yaitu, tidak ada solusi khusus Gnome / KDE).

@Keith: Saya akrab dengan urutan pelarian dan ini adalah kesalahan saya karena tidak mengatakannya secara eksplisit dalam pertanyaan awal saya, tetapi: Saya mencari solusi yang akan bertahan di antara sesi. Kemungkinan itu akan melibatkan penulisan beberapa kode.

g33kz0r
sumber

Jawaban:

15

Dari halaman manual:

MENGUBAH FONTS Mengubah font (atau ukuran font, masing-masing) melalui keypad belum didukung di rxvt-unicode. Ganggu saya jika Anda membutuhkan ini.

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

misalnya:

      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

jauh.

Bergantung pada shell yang Anda gunakan, Anda bisa menugaskannya ke pintasan keyboard. Di zsh Anda bisa mendefinisikan fungsi shell dan menggunakan bindkey untuk mengikatnya ke tombol alt misalnya.

Keith
sumber
Koreksi saya jika saya salah tetapi ini tidak akan bertahan, kan?
g33kz0r
Tentu itu akan. Pintasan keysym yang Anda masukkan ke file ~ / .Xdefaults Anda. Jika Anda menggunakan fungsi-fungsi shell dan keybindings Anda meletakkannya di file ~ / .zshrc (atau apa pun) Anda.
Keith
Saya pikir kita mendefinisikan "bertahan" secara berbeda. Solusi yang Anda usulkan untuk menggandakan urutan pelarian tidak akan bertahan dalam proses baru (jendela terminal baru). Lihat jawaban saya (diterima) di bawah ini untuk solusi yang "bertahan" dalam arti bahwa itu hidup lebih lama dari proses induknya.
g33kz0r
2

Saya menjawab pertanyaan saya sendiri (dengan kode!) Dan mendukung Keith untuk saran keyym-nya. Namun, solusi Keith tidak bertahan font yang diubah ukurannya ke file Xresources, sehingga ukurannya tersedia ketika jendela berikutnya dibuka, sedangkan milikku tidak:

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

g33kz0r
sumber