Awesome
使用 dbus 和 mpris 切換 vlc 全屏
我正在用很棒的 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