プログラムが端末で使用される色を取得することは可能ですか? [コピー]

プログラムが端末で使用される色を取得することは可能ですか? [コピー]

端末では、黒の背景に白いテキストを使用します。このプログラムには、白い背景に黒いテキストや同様のものが必要なようです。色は重要なコマンドを強調するために使用されるため、プレーンテキストを黒で表示します。私の質問は、プログラムが端末、ローカル、SSHで使用される色を認識し、必要に応じて色を識別して変更できることです。可能であればバグレポートを提出する予定ですが、できることがなければそうしません。

ベストアンサー1

端末によって異なりますが、簡単に答えると「はい」です。色をサポートするほとんどの端末は、色設定を照会する方法(またはカラーパレットの変更)もサポートしています。

全画面テキスト・モード・インターフェースを提供するプログラムは、通常、以下を使用します。呪い図書館。機能を提供しますcolor_content背景と前景を指定する色のペアの赤 - 緑 - 青の値を照会します。これカラーペア0デフォルトです。

テキストだけを印刷してカーソルを移動しないプログラムは、色を変更するためにエスケープシーケンスを印刷してこれを行うことがよくあります。理論的には、異なるターミナルは異なるエスケープシーケンスを使用できますが、実際には、すべての最新のターミナル(ターミナルが異なる動作をするWindowsのターミナルを除く)は、以下を含むデフォルトのエスケープシーケンスのセットをサポートします。設定色。エスケープシーケンスがあります色情報の照会(呪いもこのように動作します。)しかし、使用するのは少し難しいです。

これらの作業はすべてSSHを通じて透過的に行われます。

おすすめ記事