osd_clock Schatten wegbringen durch picom.conf?

pit234a

Well-Known Member
Hallo.
seit einiger Zeit bin ich nun eine Art Fan von Composite-Managern. Nachdem mir der xcompmgr doch nicht so recht gefiel, bin ich nun bei picom angekommen und finde die vielen Möglichkeiten in der config ganz toll, blicke aber nicht durch dabei.
Zunächst stolpere ich über folgende Syntax:
Code:
shadow-exclude = [
    "! name~=''",
    "name = 'Notification'",
    "name = 'Plank'",
    "name = 'Docky'",
    "name = 'Kupfer'",
    "name = 'xfce4-notifyd'",
    "name *= 'VLC'",
    "name *= 'compton'",
    "name *= 'picom'",
    "name *= 'Chromium'",
    "name *= 'Chrome'",
    "class_g = 'Firefox' && argb",
    "class_g = 'Conky'",
    "class_g = 'Kupfer'",
    "class_g = 'Synapse'",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-notifyd'",
    "class_g ?= 'Xfce4-power-manager'",
    "_GTK_FRAME_EXTENTS@:c",
    "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
Das Beispiel ist aus dem Netz, bei mir sieht das anders aus. Ist das eine allgemein übliche Sache, oder picom-speziell, diese *= und ?= und wo finde ich ihre Bedeutung? OK, ich kann das ja aus den Beispielen einfach kopieren, auch ohne es zu verstehen

Aber, ich nutze eine Uhrzeit-Anzeige mittels osd_clock und die wird auf den Hintergrund projeziert und ich bekomme da keine Information zum Windows-Typ. Also zB, wenn ich mittels obxprop | grep APP auf meine xclock clicke (es ist eigentlich eine tclock), dann erhalte ich die Meldung:
Code:
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "xclock"
_OB_APP_GROUP_CLASS(UTF8_STRING) =
_OB_APP_GROUP_NAME(UTF8_STRING) =
_OB_APP_CLASS(UTF8_STRING) = "xclock"
_OB_APP_NAME(UTF8_STRING) = "xclock"
_OB_APP_ROLE(UTF8_STRING) =
Das hilft mir und ich kann eine class_g festlegen mit xclock und damit bekommt die tatsächlich keinen Schatten. Sehr gut.
Aber osd_clock bringt mir:
Code:
Unable to find window with the requested ID
Es ist wahrscheinlich auch gar kein Fenster, sondern eben OSD-Text.
Alles, was ich dazu finde, ist der Eintrag von oben "class_g ?= 'Notify-osd'", der aber offenbar nincht wirkt (auch nicht ohne Fragezeichnen).
Und deshalb habe ich nun in Höhe der Anzeige meiner osd_clock einen Schatten, der wie ein Balken quer über den kompletten Monitor geht.

Und ich ahne, dass das irgendwie anders konfiguriert werden könnte.

Vielleicht gibt es ja Tips?
 

pit234a

Well-Known Member
diese *= und ?= und wo finde ich ihre Bedeutung?
Zumindest dazu habe ich dann mal eine Information in der man-page gefunden:
Code:
           # If the window is focused
           focused
           focused = 1
           # If the window is not override-redirected
           !override_redirect
           override_redirect = false
           override_redirect != true
           override_redirect != 1
           # If the window is a menu
           window_type *= "menu"
           _NET_WM_WINDOW_TYPE@:a *= "MENU"
           # If the window name contains "Firefox", ignore case
           name *?= "Firefox"
           _NET_WM_NAME@:s *?= "Firefox"
           # If the window name ends with "Firefox"
           name %= "*Firefox"
           name ~= "Firefox$"

picom macht ziemlich viel Spaß, bisher. Dass ich den osd_clock-Schatten nicht weg bekomme, löse ich dadurch, dass ich auf die Anzeige verzichte. Ich habe ja noch zwei andere Uhrzeiten und mache dann halt einen Klick mehr, wenn ich das Datum oder die KW brauche, die ich nun immer direkt auf dem Bildschirm hatte.

Vielleicht noch ein Satz dazu: im Vergleich zu xcompmgr kann picom deutlich mehr, ist einfacher und gezielter zu konfigurieren, macht weniger Fehler und hat eine bessere Performance. picom ist der dritte Composite-Manager, mit dem ich was zu tun hatte. xcompmgr und compiz die beiden anderen. picom ist bisher mein klarer Favorit.
Aber das wäre dann besser in einem eigenen Thema untergebracht.
 
Oben