Pertanyaan Bagaimana cara memicu efek inversi warna untuk satu jendela?


Saya ingin memiliki efek warna terbalik (terang ke gelap) seperti 'negatif' dalam compiz, tetapi tanpa compiz, dan hanya untuk satu jendela (seperti compiz Super+N).

Apakah ada cara untuk mendapatkan efek yang sama (yang diubah oleh combo kunci sebaiknya) tanpa compiz? Saya dapat membalikkan warna untuk seluruh desktop dengan xcalib -I -a, tapi saya tidak bisa membatasinya ke satu jendela.


19
2018-05-09 22:43


asal


Mungkin terkait dengan posting ini: unix.stackexchange.com/questions/20565/… - Sheljohn
Saya telah menggunakan opsi jendela negatif dari manajer window compiz dan bekerja sangat baik juga. - stats-hb


Jawaban:


Sejauh yang saya tahu ... untuk mencapai itu, Anda akan membutuhkan bantuan Jendela Kompositor.
Anda dapat mencoba untuk menginstal composer mandiri ringan seperti Compton.

Compton

Compton adalah kompositor ringan untuk X, dan garpu   xcompmgr-dana.

Menurut Halaman Man Compton memiliki opsi untuk membalikkan warna di jendela.

misalnya:

compton --invert-color-include <CONDITION>

Kondisi itu bisa menjadi WM_CLASS jendela, untuk menemukan "WM_CLASS" di jendela Anda dapat menjalankan perintah xprop

  • xprop | grep WM_CLASS

Maka kursor akan menjadi a "Menyeberang" dan Anda dapat mengklik di jendela yang Anda inginkan, untuk menemukan WM_CLASS.

Sekarang Anda harus memiliki sesuatu seperti ini:

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

enter image description here

String kedua harus menjadi WM_CLASS "Leafpad".
Jadi, untuk membalikkan warna editor Leafpad, Anda harus menjalankan:

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

Dalam beberapa kasus, Anda mungkin ingin membalikkan hanya beberapa jendela program (misalnya membalikkan jendela editor, tetapi bukan dialog "simpan file").
Untuk itu Anda bisa menggunakan pertama di antara dua WM_CLASS string (juga disebut "instance"):

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

Anda tidak perlu menjalankan compton sepanjang waktu, Anda dapat menjalankannya ketika Anda perlu membalikkan warna jendela.


CATATAN:  Dalam contoh ini saya menjalankan Lubuntu 13.04 dengan openbox sebagai window manager tetapi tanpa compositor secara default.


Untuk menginstal Compton

Kompositor ini memilikinya PPA

1) Untuk menginstal compton, buka Terminal dan ketik:

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

Dalam contoh ini saya akan membuat skrip Bash dasar (Saya bukan ahli dalam skrip) untuk mendeteksi jendela aktif dan membalikkan warnanya.

2) Buat skripnya.

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

Isi naskah:

#! /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

Pada dasarnya skrip akan memeriksa apakah compton berjalan, jika tidak   menjalankan xdotool akan menemukan jendela id dari jendela aktif, dengan xprop id akan menemukan   WM_CLASS, maka dengan WM_CLASS itu akan menciptakan kondisi dan   akhirnya akan menjalankan compton dengan syarat sebagai argumen.

Buat skrip dapat dieksekusi.

  • chmod +x ~/Scripts/invert.sh

Dalam kasus saya, saya akan membuat tautan lunak ke direktori / usr / bin / dengan nama tersebut "invert-color"

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

3) buat Pintasan Keyboard
misalnya:  Ctrl+Alt+U  (Di Lubuntu Anda harus mengedit file lubuntu-rc.xml)

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

Tambahkan Baris berikut:

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

Akhirnya Anda dapat Logout dan Login untuk melihat perubahan pada shortcut keyboard.


Maksud saya adalah ketika saya perlu membalikkan warna di jendela aktif, saya bisa melakukannya dengan Shortcut  Ctrl+Alt+U.Jika saya ingin kembali ke warna normal saya akan menekan lagi shortcut dan skrip akan mendeteksi compton sedang berjalan karena itu perintah pkill akan membunuh proses compton.
Jadi dengan cara ini saya hanya akan menjalankan kompositor ketika saya membutuhkannya.

Di sini Anda memiliki beberapa tangkapan layar:

enter image description here

enter image description here

enter image description here

enter image description here

Semoga itu membantu.


19
2017-09-19 22:15



Cara apa pun untuk membuat ini berfungsi jika jendela layar penuh juga? Ini mungkin diinginkan ketika beralih antara ruang kerja yang berbeda. - Toothrot


Ekstensi Gnome Shell "Invert Window Color" melakukan ini tanpa repot. Ini dia Link.


0
2018-05-11 20:51