Я хочу иметь обратный цветовой эффект (свет к темноте) как 'отрицательный' в compiz, но без compiz, и только для одного окна (как Super+N compiz).
Существует ли способ получить подобный эффект (переключенный ключевой комбинацией предпочтительно) без compiz? Я могу инвертировать цвета для всего рабочего стола с xcalib -I -a
, но я не могу ограничить его единственным окном.
Насколько мне известно... для достижения этого Вы будете нуждаться в помощи Наборщика Окна.
Можно попытаться установить легкого автономного наборщика как Compton.
Compton является легким наборщиком для X, и ветвление xcompmgr-dana.
Согласно Страницам справочника у Compton есть опция инвертировать, раскрашивает окно.
например:
compton --invert-color-include <CONDITION>
Условие могло быть WM_CLASS окна, для нахождения "WM_CLASS" в окне, можно выполнить команду xprop
xprop | grep WM_CLASS
Затем курсором будет "Крест", и можно нажать в окне, которое Вы хотите, для нахождения WM_CLASS.
Теперь у Вас должно быть что-то вроде этого:
WM_CLASS (СТРОКА) = "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")'
Вы не должны выполнять Комптона все время, можно выполнить его, когда необходимо инвертировать цвета окна.
Примечание: В этом примере я выполняю Lubuntu 13.04 с openbox как менеджер окон, но без наборщика по умолчанию.
У этого наборщика есть он, владеют PPA
1) Для установки Комптона открывают Terminal и тип:
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 найдет, что идентификатор окна активного окна, с идентификатором xprop найдет WM_CLASS, затем с WM_CLASS, он создаст условие и наконец выполнит Комптона с условием как аргумент.
Сделайте исполняемый файл сценария.
chmod +x ~/Scripts/invert.sh
В моем случае я создам гибкую ссылку на/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.If, я хочу вернуться к нормальным цветам, я нажму снова ярлык, и сценарий обнаружит Комптона, работает поэтому, команда pkill уничтожит процесс Комптон.
Так таким образом я только выполню наборщика, когда мне будет нужен он.
Здесь у Вас есть несколько снимков экрана:
Надежда это помогает.
Gnome Расширение Shell "Инвертирует Цвет Окна", делает это без любой стычки. Вот Ссылка.