baskerville / bspwm

A tiling window manager based on binary space partitioning
BSD 2-Clause "Simplified" License
7.73k stars 414 forks source link

[External] [EWMH] Can anyone help with getting a client window to support EWMH? #1399

Closed REYNEP closed 2 years ago

REYNEP commented 2 years ago

Hi, I know its not the right place to ask for this. Or to create to an Issue for. But since I couldn't actually find any place to ask for help, other than r/UnixPorn. Here I am asking for help. Any kinda help is appreciated. Thanks in advance.

The Problem

in bspwmrc added bspc rule -a re state=floating, so the window should open as Floating right? but it isn't doing that... its still tiled. Did restart bspwmrc, tried restarting OS too.

I thought in the rule.... that re a.k.a the application/executable name was supposed to be <class_name>, so I tried setting the ATOMs below including WM_CLASS.

EWMH [Client App Window] (& other ATOMs)

NOTE: I'm using using xcb & this is what I did...

xcb_icccm_set_wm_class(
    XCB_CONN, xcb_win,
    2, "re"
);

I have set

image

REYNEP commented 2 years ago

its been more than 48 hours.... i was totally going insane over this....

THIS WORKS: image

[FIXED] UPDATE: "<instance_name>\0""<class_name>" 2 (NULL terminated) strings, first one is <instance_name> and actually the second one is class_name

[REF] Tronche: https://tronche.com/gui/x/xlib/ICC/client-to-window-manager/wm-class.html https://tronche.com/gui/x/icccm/sec-4.html#WM_CLASS

https://github.com/rust-windowing/glutin/issues/879 [Has to be set before Window is Mapped].... spotify doesn't, so BSPC rules doesn't work on official spotify https://github.com/dasJ/spotifywm & https://community.spotify.com/t5/Desktop-Linux/WM-CLASS-window-property-on-Linux/m-p/1511491/highlight/true#M4227

for XCB implementation: (search wm_class) https://github.com/REYNEP/amGHOST/blob/master/intern/amGHOST_WindowXCB.hh