私はXとdwmでArch Linuxを使用しています。私は単純なstではなく、私が実行しているコマンドを反映しているst(この不都合な端末)のウィンドウタイトルを持ちたいと思います。たとえば、CPU使用率を監視するためにhtopを実行している場合は、タイトルをhtop -stとして指定したいと思います。どうすればいいですか?
編集:開いている端末で機能をキャプチャする代わりに、Xorgサーバーでこれを処理したいと思います。
答え1
ようにxtermまたは他のほとんどの端末エミュレータ:
printf '\033]2;%s\033\\' whatever
残りはシェルによって決定されます。たとえば、bashではDEBUG
トラップを使用できます。
set_title(){
local cmd=$BASH_COMMAND
case $cmd in
fg) cmd=$(jobs %); cmd=${cmd##"${cmd% *} "};;
fg\ *|%*) cmd=$(jobs "${cmd#fg }"); cmd=${cmd##"${cmd% *} "};;
esac
printf '\e]2;%s\e\\' "${TERM%%-*} ${cmd//[$'\e\a']/#}"
}
trap set_title DEBUG
以下を使用して、対応するウィンドウプロパティを設定することもできます。
xprop -id "$WINDOWID" -f _NET_WM_NAME 8u -set _NET_WM_NAME whatever
しかし、これはsu、ssh、screen、tmuxなどでは安定して動作しません。