Come attivare un effetto di inversione del colore per una finestra?

19

Voglio avere un effetto di colore inverso (da chiaro a scuro) come 'negativo' in compiz, ma senza compiz, e solo per una finestra (come compiz Super + N ).

C'è un modo per ottenere un effetto simile (attivato da una combinazione di tasti preferibilmente) senza compiz? Posso invertire i colori per l'intero desktop con xcalib -I -a , ma non posso limitarlo a una sola finestra.

    
posta belacqua 10.05.2012 - 00:43

2 risposte

19

Per quanto ne so ... per riuscirci, avrai bisogno dell'aiuto di un Window Compositor .
Puoi provare a installare un compositore standalone leggero come Compton .

Compton

  

Compton è un compositore leggero per X e un fork di   xcompmgr-dana.

Secondo Pagine Man Compton ha un'opzione per invertire i colori in una finestra.

per esempio:

compton --invert-color-include <CONDITION>

La condizione potrebbe essere WM_CLASS di una finestra, per trovare "WM_CLASS" in una finestra è possibile eseguire il comando xprop

  • xprop | grep WM_CLASS

Quindi il cursore sarà "Cross" e puoi fare clic nella finestra desiderata per trovare il WM_CLASS.

Ora dovresti avere qualcosa di simile:

  

WM_CLASS (STRING)="leafpad", "Leafpad"

La seconda stringa dovrebbe essere WM_CLASS "Leafpad" .
Quindi, per invertire i colori dell'editor Leafpad, devi eseguire:

  • compton --invert-color-include 'class_g="Leafpad"'

In alcuni casi, potresti voler invertire solo alcune finestre di un programma (ad esempio, invertire la finestra dell'editor, ma non la finestra di dialogo "salva il file").
Per questo puoi usare prima delle due stringhe WM_CLASS (chiamata anche "istanza"):

  • compton --invert-color-include '(class_g="Leafpad" && class_i="leafpad")'

Non hai bisogno di eseguire compton tutto il tempo, puoi eseguirlo quando devi invertire i colori di una finestra.

NOTA: In questo esempio eseguo Lubuntu 13.04 con openbox come gestore di finestre, ma senza compositore per impostazione predefinita.

Per installare Compton

Questo compositore ha il proprio PPA

1) Per installare compton, apri un Terminale e digita:

  • sudo add-apt-repository ppa:richardgv/compton
  • sudo apt-get update && sudo apt-get install compton

In questo esempio creerò uno script Bash di base (non sono un esperto di script) per rilevare la finestra attiva e invertirne i colori.

2) crea lo script.

  • sudo apt-get install xdotool
  • mkdir ~/Scripts
  • nano ~/Scripts/invert.sh

Il contenuto dello script:

#! /bin/bash

if [ "$(pidof compton)" ];
    then
            pkill compton
    else

        ID=$(xdotool getactivewindow)
        CLASS=$(xprop -id "$ID"  | grep "WM_CLASS" | awk '{print }')
        COND="class_g=${CLASS}"
        compton --invert-color-include "$COND" &
fi
exit
  

Fondamentalmente lo script controllerà se compton è in esecuzione, in caso contrario   eseguendo xdotool troverai l'id della finestra attiva, con l'id che xprop troverà   il WM_CLASS, quindi con WM_CLASS creerà la condizione e   infine eseguirà compton con la condizione come argomento.

Rendi lo script eseguibile.

  • chmod +x ~/Scripts/invert.sh

Nel mio caso creerò un collegamento software alla directory / usr / bin / con il nome "invert-color"

  • sudo ln -s ~/Scripts/invert.sh /usr/bin/invert-color

3) crea una scorciatoia da tastiera
ad esempio: Ctrl + Alt + U (In Lubuntu dovresti modificare il file lubuntu-rc.xml)

  • leafpad ~/.config/openbox/lubuntu-rc.xml

Aggiungi le seguenti linee:

<!-- Launch invert-color activewindow on Ctrl + Alt + U-->
<keybind key="C-A-U">
  <action name="Execute">
    <command>invert-color</command>
  </action>
</keybind>

Finalmente puoi uscire e accedere per vedere le modifiche nella scorciatoia da tastiera.

La mia intenzione è quando ho bisogno di invertire i colori nella finestra attiva. Posso farlo con la scorciatoia Ctrl + Alt + U Se voglio tornare ai colori normali, premo di nuovo il collegamento e lo script rileverà che il compton è in esecuzione, quindi il comando pkill ucciderà il compton del processo.
Quindi in questo modo eseguirò il compositore solo quando ne avrò bisogno.

Ecco alcuni screenshot:

Spero che ti aiuti.

    
risposta data Roman Raguet 20.09.2013 - 00:15
0

Un'estensione della shell di Gnome "Inverti colore finestra" lo fa senza problemi. Ecco il Link .

    
risposta data LostPolarBear 11.05.2018 - 22:51

Leggi altre domande sui tag