I would like to create a devilspie (the one with Lisp-like syntax, however, a solution for devilspie2 would be just as good) rule that matches windows of the Spotify music streaming app. Specifically, I would like to set its _GTK_THEME_VARIANT property to dark so that the color of its title bar matches the rest of its theme.

Currently, I am using

 (is (window_class) "Spotify")

as condition, which seems to work fine if I start devilspie when Spotify already has its window open. However, if I start Spotify when devispie is already running, my rule does not match. It seems Spotify only sets its window_class after its window was already created, therefore the match fails on the creation event. The same thing happens if I use (application_name) instead of (window_class). I can match other windows upon their creation with (window_class) just fine.

Is there any way to make a rule that can match Spotify windows when the app starts up?


I have recently noticed that

(is (application_name) "Untitled window")

matches Spotify as it starts. I did not notice this query matching other windows. Remarkably, it does not even match other Electron apps such as the Slack desktop client.

Devilspie running on the console prints the window_name, application_name and window_class of windows as they are detected, thus information about a window can be obtained as it opens.

It seems Spotify sets its application_name and windows_class to Spotify later, hence the values obtained by using xprop on the already opened window do not match the values detected by devilspie right as the window is opened.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.