我想要创建一个devilspie (使用类似Lisp的语法,但是,devilspie2的解决方案也一样好),它与Spotify音乐流应用程序的窗口相匹配。具体来说,我希望将其_GTK_THEME_VARIANT属性设置为dark,以便其标题栏的颜色与其主题的其余部分匹配。
目前,我正在使用
(is (window_class) "Spotify")作为条件,当Spotify已经打开它的窗口时,如果我开始使用devilspie,它似乎工作得很好。然而,如果我启动Spotify时,devispie已经运行,我的规则不匹配。似乎Spotify只在它的窗口已经创建之后才设置它的window_class,因此在创建事件上匹配失败。如果我使用(application_name)而不是(window_class),也会发生同样的情况。在创建其他窗口时,我可以将其与(window_class)进行匹配。
有什么方法可以在应用程序启动时制定与Spotify窗口相匹配的规则吗?
发布于 2017-07-30 12:09:34
我最近注意到
(is (application_name) "Untitled window")一开始就匹配Spotify。我没有注意到这个查询与其他窗口匹配。值得注意的是,它甚至无法与其他电子应用程序相匹配,比如Slack桌面客户端。
在控制台上运行的Devilspie在检测到窗口时会打印窗口的window_name、application_name和window_class,因此在窗口打开时可以获得有关窗口的信息。
后来,Spotify似乎将其application_name和windows_class设置为Spotify,因此在已经打开的窗口上使用xprop获得的值与devilspie在打开窗口时检测到的值不匹配。
https://unix.stackexchange.com/questions/314582
复制相似问题