I am trying to detect whether the screensaver is inhibited, using xfce on Arch.
This command works when chrome (chromium) Inhibits:
dbus-send --print-reply=literal --type=method_call --dest=org.freedesktop.PowerManagement \
/org/freedesktop/PowerManagement/Inhibit org.freedesktop.PowerManagement.Inhibit.HasInhibit
However it doesn't work with vlc. The screen saver doesn't start when I play video with vlc tho.
It looks like powermanager doesn't get notified about vlc-s inhibition, but screensaver does, but I don't see a method, to query the screensaver about inhibition.
This is what I see on dbus on start/stop vlc and a youtube video in chrome.
dbus-monitor --session interface=org.freedesktop.ScreenSaver
--- VLC START ---
method call time=1662491009.469655
sender=:1.1716 ->
destination=org.freedesktop.ScreenSaver serial=25
path=/ScreenSaver; interface=org.freedesktop.ScreenSaver;
member=Inhibit
string "vlc"
string "Playing some media."
--- VLC STOP ---
method call time=1662491018.895743
sender=:1.1716 ->
destination=org.freedesktop.ScreenSaver serial=26
path=/ScreenSaver;
interface=org.freedesktop.ScreenSaver;
member=UnInhibit
uint32 210
--- chrome START ---
method call time=1662491026.467214
sender=:1.2337 -> destination=org.freedesktop.ScreenSaver serial=5
path=/org/freedesktop/ScreenSaver;
interface=org.freedesktop.ScreenSaver;
member=Inhibit
string "/usr/lib/chromium/chromium"
string "Video Wake Lock"
method call time=1662491026.468662
sender=:1.32 ->
destination=:1.34 serial=996
path=/org/freedesktop/ScreenSaver;
interface=org.freedesktop.ScreenSaver;
member=Inhibit
string "xfce4-power-manager"
string "Inhibit requested"
--- chrome STOP ---
method call time=1662491029.945141
sender=:1.2337 ->
destination=org.freedesktop.ScreenSaver serial=8
path=/org/freedesktop/ScreenSaver;
interface=org.freedesktop.ScreenSaver;
member=UnInhibit
uint32 211
method call time=1662491032.135892
sender=:1.32 ->
destination=:1.34 serial=1000
path=/org/freedesktop/ScreenSaver;
interface=org.freedesktop.ScreenSaver;
member=UnInhibit
uint32 212
--------------------------------------
dbus-monitor --session interface=org.freedesktop.PowerManagement.Inhibit
--- VLC START ---
nothing
--- VLC STOP ---
nothing
--- chrome START ---
method call time=1662491438.346199 sender=:1.2340 ->
destination=org.freedesktop.PowerManagement serial=7
path=/org/freedesktop/PowerManagement/Inhibit;
interface=org.freedesktop.PowerManagement.Inhibit;
member=Inhibit
string "/usr/lib/chromium/chromium"
string "Video Wake Lock"
method call time=1662491438.540545 sender=:1.2341 ->
destination=org.freedesktop.PowerManagement serial=5
path=/org/freedesktop/PowerManagement/Inhibit;
interface=org.freedesktop.PowerManagement.Inhibit;
member=Inhibit
string "/usr/lib/chromium/chromium"
string "Playing audio"
--- chrome STOP ---
method call time=1662491440.828614 sender=:1.2340 ->
destination=org.freedesktop.PowerManagement serial=9
path=/org/freedesktop/PowerManagement/Inhibit;
interface=org.freedesktop.PowerManagement.Inhibit;
member=UnInhibit
uint32 6
method call time=1662491443.011514 sender=:1.2341 ->
destination=org.freedesktop.PowerManagement serial=6
path=/org/freedesktop/PowerManagement/Inhibit;
interface=org.freedesktop.PowerManagement.Inhibit;
member=UnInhibit
uint32 14
Is it some bug or there is a way, to detect VLC's Inhibition?