Как инициировать цветной эффект инверсии для одного окна?

Я хочу иметь обратный цветовой эффект (свет к темноте) как 'отрицательный' в compiz, но без compiz, и только для одного окна (как Super+N compiz).

Существует ли способ получить подобный эффект (переключенный ключевой комбинацией предпочтительно) без compiz? Я могу инвертировать цвета для всего рабочего стола с xcalib -I -a, но я не могу ограничить его единственным окном.

20
задан 15 September 2013 в 13:06

2 ответа

Насколько мне известно... для достижения этого Вы будете нуждаться в помощи Наборщика Окна.
Можно попытаться установить легкого автономного наборщика как Compton.

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"

enter image description here

Вторая строка должна быть 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 как менеджер окон, но без наборщика по умолчанию.


Устанавливать Compton

У этого наборщика есть он, владеют 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 уничтожит процесс Комптон.
Так таким образом я только выполню наборщика, когда мне будет нужен он.

Здесь у Вас есть несколько снимков экрана:

enter image description here

enter image description here

enter image description here

enter image description here

Надежда это помогает.

20
ответ дан 23 November 2019 в 01:52

Gnome Расширение Shell "Инвертирует Цвет Окна", делает это без любой стычки. Вот Ссылка.

2
ответ дан 23 November 2019 в 01:52

Другие вопросы по тегам:

Похожие вопросы: