compizでは 'negative'のような逆色効果(明るい色から暗い色)が必要ですが、compizはなく、1つのウィンドウ(compizのSuper+のようなN)のみに使用します。
compizなしで同様の効果(できればキーコンボで切り替え)を取得する方法はありますか?でデスクトップ全体の色を反転できますがxcalib -I -a
、1つのウィンドウに制限することはできません。
compizでは 'negative'のような逆色効果(明るい色から暗い色)が必要ですが、compizはなく、1つのウィンドウ(compizのSuper+のようなN)のみに使用します。
compizなしで同様の効果(できればキーコンボで切り替え)を取得する方法はありますか?でデスクトップ全体の色を反転できますがxcalib -I -a
、1つのウィンドウに制限することはできません。
回答:
私の知る限り...それを達成するには、Window Compositorの助けが必要です。Comptonの
ような軽量のスタンドアロンコンポジターをインストールすることができます。
ComptonはX用の軽量なコンポジターであり、xcompmgr-danaのフォークです。
マンページによると、コンプトンにはウィンドウの色を反転するオプションがあります。
例えば:
compton --invert-color-include <CONDITION>
条件は、ウィンドウのWM_CLASSである可能性があります。ウィンドウで「WM_CLASS」を見つけるには、コマンドxpropを実行できます
xprop | grep WM_CLASS
カーソルが「クロス」になり、目的のウィンドウをクリックしてWM_CLASSを見つけることができます。
これで、次のようになります。
WM_CLASS(STRING)= "リーフパッド"、 "リーフパッド"
2番目の文字列はWM_CLASS "Leafpad"でなければなりません。
したがって、Leafpadエディターの色を反転するには、次を実行する必要があります。
compton --invert-color-include 'class_g="Leafpad"'
場合によっては、プログラムの一部のウィンドウのみを反転することもできます(たとえば、エディターウィンドウを反転しますが、「ファイルの保存」ダイアログは反転しません)。
そのために、2つの文字列の最初のWM_CLASS
文字列(「インスタンス」とも呼ばれます)を使用できます。
compton --invert-color-include '(class_g="Leafpad" && class_i="leafpad")'
コンプトンを常に実行する必要はありません。ウィンドウの色を反転する必要があるときに実行できます。
注: この例では、ウィンドウマネージャーとしてopenboxを使用してLubuntu 13.04を実行していますが、デフォルトではコンポジターは使用していません。
1)コンプトンをインストールするには、ターミナルを開いて次を入力します:
sudo add-apt-repository ppa:richardgv/compton
sudo apt-get update && sudo apt-get install compton
この例では、アクティブなウィンドウを検出し、その色を反転させるための基本的なBashスクリプト(スクリプトの専門家ではありません)を作成します。
2)スクリプトを作成します。
sudo apt-get install xdotool
mkdir ~/Scripts
nano ~/Scripts/invert.sh
スクリプトの内容:
#! /bin/bash
if [ "$(pidof compton)" ];
then
pkill compton
else
ID=$(xdotool getactivewindow)
CLASS=$(xprop -id "$ID" | grep "WM_CLASS" | awk '{print $4}')
COND="class_g=${CLASS}"
compton --invert-color-include "$COND" &
fi
exit
基本的に、スクリプトはコンプトンが実行されているかどうかをチェックし、実行されていない場合はxdotoolがアクティブウィンドウのウィンドウIDを見つけ、ID xpropがWM_CLASSを見つけ、次にWM_CLASSで条件を作成し、最後にcomptonを実行します引数としての条件。
スクリプトを実行可能にします。
chmod +x ~/Scripts/invert.sh
私の場合、「invert-color」という名前で/ usr / bin /ディレクトリへのソフトリンクを作成します
sudo ln -s ~/Scripts/invert.sh /usr/bin/invert-color
3)キーボードショートカットを作成します。
例: Ctrl+ Alt+ U (Lubuntuでは、lubuntu-rc.xmlファイルを編集する必要があります)
leafpad ~/.config/openbox/lubuntu-rc.xml
次の行を追加します。
<!-- Launch invert-color activewindow on Ctrl + Alt + U--> <keybind key="C-A-U"> <action name="Execute"> <command>invert-color</command> </action> </keybind>
最後に、ログアウトしてログインし、キーボードショートカットの変更を確認できます。
私の意図は、アクティブなウィンドウの色を反転する必要があるとき、ショートカット Ctrl+ Alt+でそれを行うことができますU。通常の色に戻りたい場合は、ショートカットをもう一度押すと、スクリプトがコンプトンが実行されていることを検出しますpkillコマンドはプロセスコンプトンを強制終了します。
このようにして、必要なときにのみコンポジターを実行します。
ここにいくつかのスクリーンショットがあります:
それが役に立てば幸い。
Gnome Shell Extension「Invert Window Color」は、これを簡単に実行します。こちらがリンクです。