「Rxvt-unicode/ヒントとテクニック」の版間の差分
(→完全透過: 翻訳) |
(→パフォーマンスの改善: 翻訳を修正) |
||
(同じ利用者による、間の5版が非表示) | |||
97行目: | 97行目: | ||
}} |
}} |
||
− | + | そして、次の行を {{Ic|<keyboard>}} セクションに追加します。 |
|
{{bc|1= |
{{bc|1= |
||
112行目: | 112行目: | ||
}} |
}} |
||
− | ここでも、{{ic|/path/to/*}} の行を、上記で保存したスクリプトを指すように変更する必要があります。ファイルを保存して、Openbox を再設定します。これで、通常の urxvt インスタンスを {{ic|Super+T}} で起動し、kuake 風コンソールを {{ic|Super+''`''}} で切り替えられるようになったはずです。( |
+ | ここでも、{{ic|/path/to/*}} の行を、上記で保存したスクリプトを指すように変更する必要があります。ファイルを保存して、Openbox を再設定します。これで、通常の urxvt インスタンスを {{ic|Super+T}} で起動し、kuake 風コンソールを {{ic|Super+''`''}} で切り替えられるようになったはずです。(grave key、backtick とも呼ばれる) |
=== 他の設定 === |
=== 他の設定 === |
||
122行目: | 122行目: | ||
=== 関連スクリプト === |
=== 関連スクリプト === |
||
− | * hbekel は {{ic|urxvtq}} を一般化したものを投稿しました。{{Pkg|xdotool}} を使って任意のアプリケーションをトグルでき |
+ | * hbekel は {{ic|urxvtq}} を一般化したものを投稿しました。{{Pkg|xdotool}} を使って任意のアプリケーションをトグルできます [https://bbs.archlinux.org/viewtopic.php?pid=550380#p550380 ここ] |
* http://www.jukie.net/~bart/blog/20070503013555 - マウスではなくキーボードで URL を開くためのスクリプトです。 |
* http://www.jukie.net/~bart/blog/20070503013555 - マウスではなくキーボードで URL を開くためのスクリプトです。 |
||
129行目: | 129行目: | ||
* Xft フォントは使わないでください。どうしても Xft フォントを使う必要がある場合、設定値に {{Ic|<nowiki>:antialias=false</nowiki>}} を追加してください [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Can_I_speed_up_Xft_rendering_somehow] |
* Xft フォントは使わないでください。どうしても Xft フォントを使う必要がある場合、設定値に {{Ic|<nowiki>:antialias=false</nowiki>}} を追加してください [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Can_I_speed_up_Xft_rendering_somehow] |
||
* 特に {{Ic|--disable-xft}} と {{Ic|--disable-unicode3}} は、不要な機能のサポートを無効にして rxvt-unicode を構築します。<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Rxvt_unicode_uses_gobs_of_memory_how] |
* 特に {{Ic|--disable-xft}} と {{Ic|--disable-unicode3}} は、不要な機能のサポートを無効にして rxvt-unicode を構築します。<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Rxvt_unicode_uses_gobs_of_memory_how] |
||
− | * {{ |
+ | * メモリ使用量を減らすために、スクロールバックバッファ内の {{Ic|saveLines}} (オプション {{Ic|-sl}}) の数を制限します。[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Isn_t_rxvt_unicode_supused_to_be_sm] |
− | ** スクロールバックバッファーは tmux を使用し、saveLines を 0 に設定す |
+ | ** スクロールバックバッファーは tmux を使用し、saveLines を 0 に設定します。 |
* [[rxvt-unicode#Perl 拡張の無効化|Perlの無効化]] |
* [[rxvt-unicode#Perl 拡張の無効化|Perlの無効化]] |
||
* {{ic|urxvtd}} を {{Ic|urxvtc}} クライアントからの接続を受け入れるデーモンとして実行することを検討してください。 |
* {{ic|urxvtd}} を {{Ic|urxvtc}} クライアントからの接続を受け入れるデーモンとして実行することを検討してください。 |
||
269行目: | 269行目: | ||
上記の URxvt*.shading の代わりに URxvt*background を使うこともできます。 |
上記の URxvt*.shading の代わりに URxvt*background を使うこともできます。 |
||
− | {{Note| |
+ | {{Note|{{ic|URxvt.tintColor}} が設定されている場合は、シェーディングの使用は避けてください。代わりに別の {{ic|tintColor}} を使用してください。}} |
== アイコンの設定 == |
== アイコンの設定 == |
||
− | {{Note| |
+ | {{Note|rxvt-unicode パッケージの依存関係が多すぎるというバグレポート ({{Bug|34862}}) のため、icon オプションを使うには AUR パッケージ {{AUR|rxvt-unicode-pixbuf}} をインストールする必要があります。}} |
デフォルトでは URxvt にはタスクバーアイコンがありません。{{ic|~/.Xresources}} に以下の行を追加してアイコンを指定することで簡単に変更することができます: |
デフォルトでは URxvt にはタスクバーアイコンがありません。{{ic|~/.Xresources}} に以下の行を追加してアイコンを指定することで簡単に変更することができます: |
||
315行目: | 315行目: | ||
URxvt.bell-command: aplay /path/to/a/file.wav |
URxvt.bell-command: aplay /path/to/a/file.wav |
||
− | + | 次の例では、[[libcanberra]] の {{ic|canberra-gtk-play}} コマンドを使って、現在のサウンドテーマのベル音を再生しています。 |
|
URxvt.bell-command: canberra-gtk-play -i bell |
URxvt.bell-command: canberra-gtk-play -i bell |
||
+ | そして次の設定により、視覚的な通知がポップアップします。 |
||
− | And the next setting will pop a visual notification: |
||
URxvt.bell-command: notify-send "rxvt-unicode: bell!" |
URxvt.bell-command: notify-send "rxvt-unicode: bell!" |
2023年6月1日 (木) 17:23時点における最新版
メインの記事は rxvt-unicode を見てください。
目次
Openbox で Kuake ライクな挙動を改善する
以下は元は Xyne によってフォーラムに投稿されたもの [1] で、公式リポジトリにある xdotool に依存しています。
スクリプトレット
urxvtc
の man ページにある以下のスクリプトレットをシステム上 (例: ~/.config/openbox
) に urxvtc
と保存してください:
#!/bin/sh urxvtc "$@" if [ $? -eq 2 ]; then urxvtd -q -o -f urxvtc "$@" fi
そして以下を urxvtq
と保存してください:
#!/bin/bash wid=$(xdotool search --classname urxvtq) if [ -z "$wid" ]; then /path/to/urxvtc -name urxvtq -geometry 80x28 wid=$(xdotool search --classname urxvtq | head -1) xdotool windowfocus "$wid" xdotool key Control_L+l else if [ -z "$(xdotool search --onlyvisible --classname urxvtq 2>/dev/null)" ]; then xdotool windowmap "$wid" xdotool windowfocus "$wid" else xdotool windowunmap "$wid" fi fi
上記で保存した urxvtc
を /path/to/urxvtc
スクリプトレットへの実際のパスに変更することを確認してください。urxvt
の通常のインスタンスと kuake のようなインスタンスの両方を起動するために urxvtc
を使用する予定です。
urxvtq とタブ
kuake-like urxvtc
(ここでは urxvtq
) でタブを使いたい場合は、 urxvtq
の3行目を置き換えるだけでよいです。
wid=$(xdotool search --classname urxvtq)
一緒に:
wid=$(xdotool search --classname urxvtq | grep -m 1 "" )
タブサポートを有効にするには、urxvtq
の5行目を置き換えるかのどちらかです。
/path/to/urxvtc -name urxvtq -geometry 80x28
一緒に:
/path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28
または、~/.Xresources
ファイルのこの行を置き換えます。
URxvt.perl-ext-common: default,matcher
一緒に:
URxvt.perl-ext-common: default,matcher,tabbed
タブの操作
キー | 説明 |
---|---|
Shift+Left | 左側のタブに切り替える。 |
Shift+Right | 右側のタブに切り替える。 |
Shift+Down | 新しいタブを作成。 |
また、マウスで希望のタブをクリックして切り替えることもできますし、[NEW].\\ をクリックすれば新しいタブを作ることもできます。
タブを閉じるには、通常の端末を閉じるのと同じように exit
を入力するだけです。
Openbox の設定
~/.config/openbox/rc.xml
の <applications>
セクションに以下の行を追加:
<application name="urxvtq"> <decor>no</decor> <position force="yes"> <x>center</x> <y>0</y> </position> <desktop>all</desktop> <layer>above</layer> <skip_pager>yes</skip_pager> <skip_taskbar>yes</skip_taskbar> <maximized>Horizontal</maximized> </application>
そして、次の行を <keyboard>
セクションに追加します。
<keybind key="W-t"> <action name="Execute"> <command>/path/to/urxvtc</command> </action> </keybind> <keybind key="W-grave"> <action name="Execute"> <execute>/path/to/urxvtq</execute> </action> </keybind>
ここでも、/path/to/*
の行を、上記で保存したスクリプトを指すように変更する必要があります。ファイルを保存して、Openbox を再設定します。これで、通常の urxvt インスタンスを Super+T
で起動し、kuake 風コンソールを Super+`
で切り替えられるようになったはずです。(grave key、backtick とも呼ばれる)
他の設定
この設定が urxvt kuake Perl スクリプトより優れている点は、Openbox が修飾キーなど、より多くのキーバインドオプションを提供していることです。kuake スクリプトは、修飾キーの組み合わせに関係なく、物理キー全体をハイジャックします。すべての可能性については、Openbox bindings documentation を参照してください。
Openbox per-app settings を使って、kuake-like console の動作(画面位置やレイヤーなど)をさらに設定することができます。コンソールの高さを調整するために urxvtq
スクリプトレットで geometry パラメータを変更する必要があるかもしれません。
関連スクリプト
- hbekel は
urxvtq
を一般化したものを投稿しました。xdotool を使って任意のアプリケーションをトグルできます ここ - http://www.jukie.net/~bart/blog/20070503013555 - マウスではなくキーボードで URL を開くためのスクリプトです。
パフォーマンスの改善
- Xft フォントは使わないでください。どうしても Xft フォントを使う必要がある場合、設定値に
:antialias=false
を追加してください [2] - 特に
--disable-xft
と--disable-unicode3
は、不要な機能のサポートを無効にして rxvt-unicode を構築します。[3] - メモリ使用量を減らすために、スクロールバックバッファ内の
saveLines
(オプション-sl
) の数を制限します。[4]- スクロールバックバッファーは tmux を使用し、saveLines を 0 に設定します。
- Perlの無効化
urxvtd
をurxvtc
クライアントからの接続を受け入れるデーモンとして実行することを検討してください。
デーモンクライアント
Xinitrc
urxvtd(1) の Examples セクションを見てください。
systemd
システムサービス:
/etc/systemd/system/urxvtd@.service
[Unit] Description=RXVT-Unicode Daemon [Service] User=%i ExecStart=/usr/bin/urxvtd -q -o [Install] WantedBy=multi-user.target
サービスを起動するときにユーザー名を指定します:
urxvtd@username.service
systemd/ユーザーサービスの場合、以下のユニットファイルを ~/.config/systemd/user
に配置してください:
urxvtd.service
[Unit] Description=Urxvt Terminal Daemon Requires=urxvtd.socket [Service] ExecStart=/usr/bin/urxvtd -o -q Environment=RXVT_SOCKET=%t/urxvtd-%H [Install] WantedBy=MyTarget.target
urxvtd.socket
[Unit] Description=urxvt daemon (socket activation) Documentation=man:urxvtd(1) man:urxvt(1) [Socket] ListenStream=%t/urxvtd-%H [Install] WantedBy=sockets.target
高度なタブの管理
AUR から urxvt-tabbedexAUR パッケージをインストールして、~/.Xresources
の URxvt.perl-ext-common
X リソースに tabbedex
を追加してください:
URxvt.perl-ext-common: ...,tabbedex,...
"[NEW]" ボタン (めったに使用されず、マウスでのみ使用可能) は、tabbedex のデフォルトでは無効になっています。この機能を再び有効にするには、new-button
を true に設定します。
URxvt.tabbed.new-button: true
タブの名前は Shift+ ↑
(Enter
で確定、Escape
で取り消し) で付けることができます。
タブが1つしかないときにタブバーを自動的に隠すには、次のリソースを有効にします。
URxvt.tabbed.autohide: true
最後のタブで Urxvt を閉じないようにするには、以下のリソースを有効にします。
URxvt.tabbed.reopen-on-close: yes
新しいタブを開始したり、タブを循環させるには、次のユーザーコマンドを使用します。tabbedex:(new|next|prev)_tab
を使用します。マッピングの例
URxvt.keysym.Control-t: perl:tabbedex:new_tab URxvt.keysym.Control-Tab: perl:tabbedex:next_tab URxvt.keysym.Control-Shift-Tab: perl:tabbedex:prev_tab
タブの名前を変更したり、タブを右や左に移動したりするキーバインドを独自に定義するには、以下のコマンドを使用します。tabbedex:move_tab_(left|right)
と tabbedex:rename_tab
を使ってください。マッピングの例
URxvt.keysym.Control-Shift-Left: perl:tabbedex:move_tab_left URxvt.keysym.Control-Shift-Right: perl:tabbedex:move_tab_right URxvt.keysym.Control-Shift-R: perl:tabbedex:rename_tab
透過
完全透過
完全透過を使用するには、コンポジタによるコンポジットをサポートしているウィンドウマネージャを使っている必要があります。
コマンドラインから:
$ urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd
設定ファイルを使用:
~/.Xresources
URxvt.depth: 32 URxvt.background: rgba:1111/1111/1111/dddd
または:
~/.Xresources
URxvt.depth: 32 URxvt.background: [95]#000000
'95' は透過レベル (パーセンテージ)、'#000000' は背景色に置き換えて下さい。
302351 という色を rgba:rrr/gggg/bbb/aa 構文で使う場合は、rgba:3000/2300/5100/ee00 となります。ee00"(アルファ値)を指定すると、きれいに透明になります。
疑似透過
完全透過の必要がない場合、もしくはコンポジットによるシステムリソースの消費が多すぎるという場合、以下のようにして透過を使うことができます:
~/.Xresources
! Xresources file URxvt*inheritPixmap: true URxvt*.transparent: true ! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens URxvt*.shading: 110
上記の URxvt*.shading の代わりに URxvt*background を使うこともできます。
アイコンの設定
デフォルトでは URxvt にはタスクバーアイコンがありません。~/.Xresources
に以下の行を追加してアイコンを指定することで簡単に変更することができます:
URxvt.iconFile: /usr/share/icons/Clarity/scalable/apps/terminal.svg
urxvt をアプリケーションランチャーとして使う
urxvt は gmrun などのアプリケーションの代わりとして使うことができます。以下の設定で urxvt を実行するとアプリケーションランチャーのように使用できます。もしくはコマンドをカスタムエイリアスに割り当ててください:
$ urxvt -geometry 80x3 -name 'bashrun' -e sh -c "/bin/bash -i -t"
Xterm のエスケープシーケンス
rxvt-unicode で Xterm のエスケープシーケンスを使うことができます。xterm の中で cat -v
を実行してキーの組み合わせを確認したらキーシムを使って urxvt の設定を行います。
単語移動のバインドは以下のようになります:
~/.Xresources
!Xterm escapes, word by word movement URxvt.keysym.Control-Left: \033[1;5D URxvt.keysym.Control-Right: \033[1;5C
詳しくは ascii(7) や urxvt(1) の man ページのキーシムセクションを見てください。
双方向言語のサポート
bidi extension を使用して、ヘブライ語やアラビア語などの双方向言語のサポートを追加することができます。
ベルコマンド
ターミナルでベルが鳴ったときにシェルコマンドを実行することができます。最初に ~/.Xresources
ファイルで bell-command
拡張を有効にしてください:
URxvt.perl-ext-common: ...,bell-command,...
以下の例は ALSA の aplay
コマンドを使って .wav
ファイルを再生します:
URxvt.bell-command: aplay /path/to/a/file.wav
次の例では、libcanberra の canberra-gtk-play
コマンドを使って、現在のサウンドテーマのベル音を再生しています。
URxvt.bell-command: canberra-gtk-play -i bell
そして次の設定により、視覚的な通知がポップアップします。
URxvt.bell-command: notify-send "rxvt-unicode: bell!"