呪いアプリケーションの背景色を変更するには?

呪いアプリケーションの背景色を変更するには?

私はirssi、mc、tigなどのncursesアプリケーションのどこでも見ることができる青色の背景が嫌いです。色を変更したいのですが、どうすればよいですか?

Midnight Commanderにテーマがあることはわかっていますが、すべてのCLIプログラムのグローバル設定はどうですか?setterm私はLinuxとFreeBSDで利用可能であることがわかりましたvidcontrolが、vidcontrol私にはうまくいかず、VESA用なので、私には必要ではないと思います。私はここでSSHを通して作業しています。

ベストアンサー1

一部の端末(xtermなど)では、リソースファイルを介してまたは動的に色の上書きを許可します。 $ TERMのterminfoエントリに正しく公開されている場合は、次の方法でこれを実行できます。

tput initc 4 1000 0 0

ANSIカラー4(通常は青色)を明るい赤色のRGB(1000、0 0)に変更します。

端末が色のオーバーライドをサポートしていない場合(参考文献を参照infocmp -1 | grep initc)、terminfoを使用するアプリケーションは別のエスケープシーケンスを送信して色4(青)を要求するように欺くことができます。

infocmp -x > terminal.info

を編集し、terminal.info端末名を「myterm」のように変更し、「setab」プロパティ(ANSI背景設定)を編集します。

変える

setab=\E[4%p1%dm

それは:

tput setab 4

^[[44mを送信して次に変更してください。

setab=\E[4%?%p1%{4}%=%t1%e%p1%d%;m

%? ....if-then-elseで、「4」が要求された場合は「1」が送信され、それ以外の場合は要求された値が送信されることを示します。

だから

tput setab 4

お送りします^[[41m、(赤)tput setab 5お送りします^[[45m

次に、次のコマンドを使用してコンパイルします。

TERMINFO=$HOME/.terminfo tic -x terminal.info

次のように使用してください。

TERMINFO=$HOME/.terminfo TERM=myterm the-application-to-trick

これは、アプリケーションがterminfoデータベースを使用してシーケンスを端末に送信する場合にのみ機能します。

おすすめ記事