Rules using class, instance, AND name of windows don't seem to apply correctly
I managed to get the Eve Online client window to be full screen and on the 'below' layer so that new windows in its desktop dont force it out of fullscreen, but it seems the launcher also inherited that behaviour.
As such, I tried to make a separate rule for each, based on their differing names, but the launcher doesn't seem to be getting the rule.
Here is the xprop output for each window:
$ xprop | grep -E 'CLASS|NAME'
# Click on launcher
_NET_WM_NAME(UTF8_STRING) = "EVE Launcher" WM_ICON_NAME(STRING) = "EVE Launcher" WM_NAME(STRING) = "EVE Launcher" WM_LOCALE_NAME(STRING) = "en_US.UTF-8" WM_CLASS(STRING) = "steam_app_8500", "steam_app_8500"
$ xprop | grep -E 'CLASS|NAME'
# Click on client before selecting character
_NET_WM_NAME(UTF8_STRING) = "EVE" WM_ICON_NAME(STRING) = "EVE" WM_NAME(STRING) = "EVE" WM_LOCALE_NAME(STRING) = "en_US.UTF-8" WM_CLASS(STRING) = "steam_app_8500", "steam_app_8500"
$ xprop | grep -E 'CLASS|NAME'
# Click on client after selecting character
_NET_WM_NAME(UTF8_STRING) = "EVE - my_character_name"
WM_ICON_NAME(STRING) = "EVE - my_character_name"
WM_NAME(STRING) = "EVE - my_character_name"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLASS(STRING) = "steam_app_8500", "steam_app_8500"Based on this I tried using the following 2 rules:
bspc rule -a "steam_app_8500:steam_app_8500:EVE Launcher" state=tiled layer=normal
bspc rule -a "steam_app_8500:steam_app_8500:EVE -*" state=fullscreen layer=belowHowever while the client seems to have the right behaviour (i.e. if a new window is opened on the same desktop it doesnt force the client out of fullscreen), the launcher also gets the same behaviour. This means when I launch the launcher from steam, it actually gets put in full screen behind the steam client and I need to move the steam client to another desktop to be able to use the eve launcher.
I'd be happy to provide any further info if needed.
Source: baskerville/bspwm