alacritty
を使ってみたのだが、背景画像を設定できないこと、タブで開けないのが、残念。また、そこまで端末で生きる人間でないから、そのパフォーマンス、操作性、拡張性とか素晴しさを理解できない。
なんてことを思いながら、 Tabs support in the terminal · Issue #3129 · alacritty/alacritty · GitHubを眺めていたら、 https://sw.kovidgoyal.net/kitty/が紹介されていた。
インストール
インストールは以下のとおり、宜しくやってくれる。
$ curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
$ ln -s ~/.local/kitty.app/bin/kitty ~/.local/bin/
$ sed -i "s|Icon=kitty|Icon=/home/$USER/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" ~/.local/share/applications/kitty.desktop
$ sudo update-desktop-database
使ってみて、分かったが、フォントと文字入力の点で癖がある。
設定
以下、変更部分のみ抜粋
kitty.conf
font_family Ubuntu Mono
font_size 14.0
scrollback_pager_history_size 1024
background_image /home/arimasou16/Picture/お気に入り/芸能人/川津明日香/川津明日香 - 春風な彼女02.png
background_image_layout tiled
background_tint 0.7
設定するとこんな感じ1
フォント
このkitty
は選べるフォントがシビアだ。
Not using the fonts asked for (not monospace?) · Issue #179 · kovidgoyal/kitty · GitHub
kitty only uses monospace fonts, that is the fonts listed under kitty list-fonts. Because kitty speeds up rendering by storing individual cell glyphs on the GPU, and monospaced font is really needed.
kittyは、モノスペースフォント、つまりkittylist-fontsの下にリストされているフォントのみを使用します。 キティは個々のセルグリフをGPUに保存することでレンダリングを高速化するため、等幅フォントが本当に必要です。
Configuring kitty — kitty 0.20.3 documentation
正しく使えるfontはkitty + list-fonts --psnames
で表示されるものだけと思った方が良さそうだ。正直、フォントにトピックが色々立っているが、読んでも意味が分からない。 Cica, NotoSansMonoCJKjp, HackGen とか使ってみたけど、半角文字が全角文字の幅で表示されてしまう…そんな中で Ubuntu Mono が普通に表示されたので、それを使っている。
全角文字が含まれるフォントは細かい設定しないと全部、全角文字幅で表示されるちゃうの?
フォントについてはかなり細かいカスタマイズが行えるようなので、そういうのが強い方ならば、きっと満足行く形で表示できるだろう。多分。
背景画像
background_opacity 1.0 を初め弄ったのだが、そうすると背景画像まで透過されてしまうので、私は透過させない。 背景画像をどれだけ背景色の色合いにするかは background_tint で設定できる。これは背景透過もしくは背景画像設定時に有効となる。
background_image のパス設定は空白スペースがあってもそのままで良い。下手にコーテーションで括ると動かない。
background_image_layout で背景画像をタイル状にするか、拡大縮小するかをtiled
かscaled
で選択できる。ただ、アスペクト比を保ったままで拡大ってのが無いんだよなぁ。まあ、それがいやなら背景画像を自分で拡大縮小して別作成しておくべきということか。
入力メソッド
入力メソッド、Input Method2が
kitten for IME input · Issue #469 · kovidgoyal/kitty · GitHub
IME does not work with kitty thanks to limitations of GLFW (glfw/glfw#41). 3
GLFW制限により、IMEはキティでは機能しません。
skk
とかmozc
が有効にならない。これは人によったら致命的かな。私の場合、日本語を打つときはvim
を開いて
eskkで入力するので問題ないが、そうでない端末上では、日本語が打てないということに。
ただ、これは改善されていてGLFW_IM_MODULE=ibus kitty
で起動させれば有効になる。それが煩わしければ環境変数としてGLFW_IM_MODULE=ibus
を設定してしまえば、kitty
を起動するたびに有効になる。
しかし、一度有効化してしまうとずっとibus-skk
のままとなるので変換エンジン(IME)の切り替えができない(英語キーボード入力に変更できないというべきか)。なので入力モードを切り替えていくしかない。
まあ、Windowsとかでは、同じIME内で有効化/無効化(Google日本語入力内で変換の有効化/無効化)で文字を打つのは当たり前なのだけど、iBus 1.5あたりから、変換エンジンの切り替えで半角入力、全角入力を切り替えるようになったので、変換エンジンを固定されると使いづらい。
そして、vim
上では
eskkを入力メソッドにするのでIMEを有効にしたくない。だから、通常時はIME無効のまま使っている。ただ、たまに有効にした時もあるようなぁってことで
~/.local/share/applications/kitty.desktop
[Desktop Entry]
・・・省略・・・
Actions=ibus_active;
[Desktop Action ibus_active]
Name=ibus_active
Exec = bash -c "env GLFW_IM_MODULE=ibus kitty"
追記して、別アクションでIME有効で起動できるようにした。注意点として [Desktop Entry] にActions=
として別アクションを追記しおかないと[Desktop Action 別アクション]
が表示されない。
またfcitx
は
Fcitx5でないとIME有効にならない。迷ったけど
第542回 生まれ変わったLubuntu 18.10を使用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社で、いくやさまが
インプットメソッドはFcitxをIBusの両方が使用できますが,どちらかといえばIBusのほうがおすすめです。
とおっしゃるのでibus
に変更した。fcitx5
が通常リリースされたら戻すかも。
$ im-config -n ibus
$ gsettings set org.freedesktop.ibus.panel xkb-icon-rgba '#ffffff'
既存のアプリケーション
ということで QTerminal を気に入ってるという記事をエントリーしてから、数日も経たない内に乗り換えてる。LubuntuではLXQtセッションの設定 -> 既存のアプリケーション -> ターミナルエミュレーション
とショートカットキー
の Launch Terminal をkitty
に変更すればバッチリ切り替えることができる。
-
背景画像は 川津明日香 春風な彼女 - DMMブックス(旧電子書籍) p.24 ↩︎
-
ここらへんの仕様を理解してないので、言葉の使い分けが難しい。
fcitx-skk
の場合、fcitx
が IM 、skk
が IME(Input Method Engine) と思ってるが合ってるのかな。 ↩︎