Насколько я знаю ... чтобы достичь этого, вам понадобится помощь Window Compositor .
Вы можете попробовать установить легкий автономный композитор, такой как Compton .
Комптон
Compton - это легкий композитор для X и ответвление от xcompmgr-dana.
Согласно Man Pages, у Compton есть возможность инвертировать цвета в окне.
например:
compton --invert-color-include <CONDITION>
Условием может быть WM_CLASS окна, чтобы найти «WM_CLASS» в окне, вы можете запустить команду xprop
Тогда курсор будет «крестиком», и вы можете щелкнуть в нужном вам окне, чтобы найти WM_CLASS.
Теперь у вас должно быть что-то вроде этого:
WM_CLASS (STRING) = "leafpad", "Leafpad"
Вторая строка должна быть WM_CLASS "Leafpad" .
Итак, чтобы инвертировать цвета редактора Leafpad, вы должны запустить:
compton --invert-color-include 'class_g="Leafpad"'
В некоторых случаях вам может потребоваться инвертировать только некоторые окна программы (например, инвертировать окно редактора, но не диалоговое окно «Сохранить файл»).
Для этого вы можете использовать первую из двух WM_CLASS
строк (также называемых «экземпляром»):
compton --invert-color-include '(class_g="Leafpad" && class_i="leafpad")'
Вам не нужно все время запускать compton, вы можете запускать его, когда вам нужно инвертировать цвета окна.
ПРИМЕЧАНИЕ. В этом примере я запускаю Lubuntu 13.04 с openbox в качестве оконного менеджера, но по умолчанию без композитора.
Установить Комптон
Этот композитор имеет свой собственный PPA
1) Для установки Compton откройте Терминал и введите:
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
По сути, скрипт проверит, работает ли compton, если он не запущен, xdotool найдет идентификатор окна активного окна, с помощью идентификатора xprop найдет WM_CLASS, затем с помощью WM_CLASS создаст условие и, наконец, запустит compton с условие в качестве аргумента.
Сделайте скрипт исполняемым.
chmod +x ~/Scripts/invert.sh
В моем случае я создам мягкую ссылку на каталог / usr / bin / с именем «invert-color»
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 уничтожит комптон процесса.
Таким образом, я буду запускать композитор только тогда, когда мне это нужно.
Здесь у вас есть несколько скриншотов:
Надеюсь, это поможет.