วิธีเรียกใช้เอฟเฟ็กต์การเปลี่ยนสีสำหรับหน้าต่างเดียว


21

ฉันต้องการให้เอฟเฟ็กต์สีผกผัน (สว่างไปมืด) เช่น 'ลบ' ในคอมมิชชัน แต่ไม่มีคอมแพคและเฉพาะหน้าต่างเดียว (เช่นSuper+ ของคอมแพคN)

มีวิธีการรับผลกระทบที่คล้ายกัน (สลับโดยคำสั่งผสมคีย์เด่นกว่า) โดยไม่ต้อง compiz? ฉันสามารถสลับสีสำหรับเดสก์ท็อปทั้งหมดด้วยxcalib -I -aแต่ฉันไม่สามารถ จำกัด เป็นหน้าต่างเดียวได้


อาจเกี่ยวข้องกับโพสต์นี้: unix.stackexchange.com/questions/20565/…
Sheljohn

ฉันใช้ตัวเลือกหน้าต่างเชิงลบจากตัวจัดการหน้าต่าง compiz และมันก็ทำงานได้ดีเช่นกัน
stats-hb

คำตอบ:


21

เท่าที่ผมรู้ ... เพื่อให้บรรลุว่าคุณจะต้องการความช่วยเหลือของหน้าต่างเรียง
คุณสามารถลองติดตั้งเรียงพิมพ์แบบสแตนด์อโลนที่มีน้ำหนักเบาเช่นคอมป์ตัน

คอมป์ตัน

คอมป์ตันเป็นนักแต่งเพลงที่มีน้ำหนักเบาสำหรับ X และส้อมของ xcompmgr-dana

ตามMan Pages Compton มีตัวเลือกในการสลับสีในหน้าต่าง

เช่น:

compton --invert-color-include <CONDITION>

เงื่อนไขอาจเป็นWM_CLASSของหน้าต่างเพื่อค้นหา "WM_CLASS" ในหน้าต่างคุณสามารถเรียกใช้คำสั่งxprop

  • xprop | grep WM_CLASS

เคอร์เซอร์จะเป็น"กากบาท"และคุณสามารถคลิกในหน้าต่างที่คุณต้องการเพื่อค้นหา 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")'

คุณไม่จำเป็นต้องเรียกใช้คอมพ์ตันตลอดเวลาคุณสามารถรันได้เมื่อคุณต้องการสลับสีของหน้าต่าง


หมายเหตุ: ในตัวอย่างนี้ฉันใช้ Lubuntu 13.04 โดยมี openbox เป็นตัวจัดการหน้าต่าง แต่ไม่มีตัวเรียงตามค่าเริ่มต้น


ในการติดตั้ง Compton

ผู้แต่งคนนี้มีPPAของตัวเอง

1) วิธีการติดตั้ง compton เปิด 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 จะค้นหา id หน้าต่างของหน้าต่างที่ใช้งานอยู่ด้วย id xprop จะค้นหา WM_CLASS จากนั้นด้วย WM_CLASS มันจะสร้างเงื่อนไขและในที่สุดจะรันคอมพ์ด้วย เงื่อนไขเป็นอาร์กิวเมนต์

ทำให้สคริปต์เรียกใช้งานได้

  • chmod +x ~/Scripts/invert.sh

ในกรณีของฉันฉันจะสร้างลิงค์อ่อนไปยังไดเรกทอรี / usr / bin / ที่มีชื่อ"invert-color"

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

3)สร้าง Keyboard Shortcut
เช่น: 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 จะฆ่ากระบวนการ compton
ด้วยวิธีนี้ฉันจะรันผู้ประพันธ์เพลงเมื่อฉันต้องการเท่านั้น

ที่นี่คุณมีภาพหน้าจอไม่กี่:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

หวังว่ามันจะช่วย


มีวิธีใดที่จะทำให้มันทำงานถ้าหน้าต่างเต็มหน้าจอเช่นกัน? สิ่งนี้อาจเป็นที่ต้องการเมื่อสลับระหว่างพื้นที่ทำงานที่แตกต่างกัน
Toothrot

@Toothrot แล้วทำงานโฆษณาในระบบของฉัน (ใช้ i3wm และว่าสคริปต์เดียวกันแน่นอนจากคำตอบ)
sehe

2

Gnome Shell Extension "Invert Window Color" ทำสิ่งนี้ได้โดยไม่ยุ่งยาก นี่คือการเชื่อมโยง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.