Awesome

使用 dbus 和 mpris 切換 vlc 全屏

  • March 31, 2016

我正在用很棒的 wm 編寫我的鍵盤快捷鍵。目前我使用 qdbus 來控制媒體播放器,除了 vlc 的全屏外,它們都可以工作。我使用的命令是:

qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Fullscreen

這可以獲取全屏狀態的布爾值,但也應該能夠設置它,我已經做的是上面的命令true/false(以及它們的一些變體),但它總是被解釋為false.

CanSetFullscreen有價值true

Awesome 有一種發送假鍵事件的方法,這可以用來覆蓋 vlc 使用的標準鍵,以匹配在 awesome wm 中配置的鍵。在 ~/.config/awesome/rc.lua 內部更改全屏鍵,如下所示:

enter code hereawful.key({ modkey,           }, "f",      function (c) 
   if awful.rules.match(c, {class = 'Vlc'}) then
       root.fake_input('key_release','f')
       root.fake_input('key_press','f')
       root.fake_input('key_release','f')
   else
       c.fullscreen = not c.fullscreen  
   end
end),

要使用其他程序執行此操作,您首先必須了解它的類,您可以使用命令xprop | grep WM_CLASS.

WM_CLASS(STRING) = "vlc", "Vlc"
                    |      |
                    |      |--- class
                    |
                    |--- instance

引用自:https://unix.stackexchange.com/questions/218317