Urxvtは、Iバーをカーソルとして使用することをサポートしていません。これを回避するために私が見つけた方法の1つは、コマンドecho -n -e "\033[6 q"
を送信することです。
これは、urxvtを開くたびにコマンドを送信する限り機能しますが、実行する必要はありません。
私はurxvtに起動時にこれを実行させようとしましたが、さまざまな成功を収めました。
.bashrc
をexec echo -n -e "\033[6 q"
とともに使用しようとしました。これは何の効果もありませんでした。
私はi3を使用しているので、次にurxvtのkeysymをコマンドで開始するように設定し、-hold
引数を使用しようとしましたが、端末が保持されていたため、使用できませんでした。
私ができた唯一の成功は、.Xresources
にkeysymを設定することでした。
URxvt.keysym.C-Escape: command: \033[6 q
これは機能しましたが、ターミナルを起動するたびにCtrl-Escapeを押す必要があることを意味します。
私が知りたいのは、urxvtを起動するたびに、実際に端末を使用できるようにしながら、このコマンドを何らかの方法で実行する方法があるかどうかです。
それを.bashrc
ファイルに入れたい場合は、少し改善されます。
.bashrc
の場合)-e
オプションを指定したecho
には、移植性の問題があります。 printf
を使用します。それらをまとめて、標準エラーに書き込みます(バッファリングされていないため):
[ -n "PS1" ] && [ -t 2 ] && printf '\033[6 q' >&2
urxvtは、 XTerm制御シーケンス に記載されているDECSCUSR
制御シーケンスを実装します。
CSI Ps SP q
Set cursor style (DECSCUSR, VT520).
Ps = 0 -> blinking block.
Ps = 1 -> blinking block (default).
Ps = 2 -> steady block.
Ps = 3 -> blinking underline.
Ps = 4 -> steady underline.
Ps = 5 -> blinking bar (xterm).
Ps = 6 -> steady bar (xterm).
コード5と6はxtermの機能であることに注意してください。
この制御シーケンスは、オンラインのマニュアルページ rxvt(7) には記載されていませんが、 changelog entry に記載されています。
9.19 Sun Oct 27 17:16:07 CET 2013
...
- add support for the set cursor style (DECSCUSR) control
function.
また、ソースコードはこれを示し( set_cursor_style
を参照)、 マニュアルページのソース は機能を示しています。それは 2014年にコード5と6で更新されました でした。
参考文献:
私のような誰かが、質問した人の特定の問題ではなく、質問に対する答えを探していた場合、答えは次のとおりです。urxvt [your other options - e.g. fancy colors...] -hold -e <your command>
-hold
を省略すると、コマンドが実行されたときに端末が閉じられます。
例:urxvt -fg white -bg black -tr -sh 40 -fade 40 -sl 500 -cr yellow -e calc
電卓(gentooの優れた精度のもの)でurxvtを開始し、電卓を閉じると閉じます。これをホットキーで使用します。
他の例:urxvt -fg white -bg black -tr -sh 40 -fade 40 -sl 500 -cr yellow -hold -e echo -e Hello you greatest hacker\n
ターミナルウィンドウを開いたまま、自己陶酔的なユーザーに挨拶します。後者の例は使用しません。
echo -en "\x1b[\x35 q" # changes to blinking vertical bar
echo -en "\x1b[\x36 q" # changes to steady vertical bar
これらは、変更するために.bashrcに入力する必要がある2つの関連するエスケープコードです。あなたが最初に試した他のすべてを取りなさい。もちろん、点灯または点滅のどちらかを選択し、後で必要になった場合に備えて、もう一方をコメントアウトします。
編集:もっと参考にするために、何かをリンクできるかどうか、またはそれらのコードをどこで入手したかはわかりませんが、.bashrcのurxvtでこれらをテストしました。これは、xtermですでに使用したものであり、機能します。残りのすべてのlemmeを知る必要がある場合は、すべてのカーソル形状。