如何使 Devilspie 与 Spotify Windows 相匹配?

如何使 Devilspie 与 Spotify Windows 相匹配?

我想创建一个devilspie(具有类似 Lisp 语法的规则,但是,解决方案也devilspie2同样好)与 Spotify 音乐流应用程序的窗口相匹配的规则。具体来说,我想将其_GTK_THEME_VARIANT属性设置dark为使其标题栏的颜色与其主题的其余部分相匹配。

目前,我正在使用

 (is (window_class) "Spotify")

作为条件,如果我在 Spotify 窗口已经打开时启动 Devilspie,似乎效果很好。但是,如果我在 devispie 已经运行时启动 Spotify,则我的规则不匹配。 Spotify 似乎仅window_class在创建窗口后才设置它,因此匹配在创建事件上失败。如果我使用(application_name)而不是,也会发生同样的事情(window_class)。我可以很好地匹配其他窗口的创建(window_class)

有没有办法制定一个规则,可以在应用程序启动时匹配 Spotify 窗口?

答案1

我最近注意到

(is (application_name) "Untitled window")

与 Spotify 启动时匹配。我没有注意到这个查询与其他窗口匹配。值得注意的是,它甚至与其他 Electron 应用程序(例如 Slack 桌面客户端)不匹配。

在控制台上运行的 Devilspie 会在检测到窗口时打印窗口的window_nameapplication_namewindow_class,因此可以在窗口打开时获取有关窗口的信息。

Spotify 似乎将其application_name和设置windows_classSpotify稍后,因此在已打开的窗口上使用获得的值xprop与窗口打开时由 Devilspie 检测到的值不匹配。

相关内容