nik012003 / ripdrag

Drag and Drop utilty written in Rust and GTK4
GNU General Public License v3.0
496 stars 17 forks source link

Use _NET_WM_WINDOW_TYPE_UTILITY? #22

Closed LRitzdorf closed 1 year ago

LRitzdorf commented 1 year ago

Most tiling window managers choose to tile or float windows based on their Freedesktop window type. Currently, ripdrag uses _NET_WM_WINDOW_TYPE_DESKTOP, which is presumably the default.

Would you consider changing to _NET_WM_WINDOW_TYPE_UTILITY? This seems like a better fit, and would also make tiling WMs float the window by default, which seems more in line with the intended behavior.

_NET_WM_WINDOW_TYPE_UTILITY indicates a small persistent utility window, such as a palette or toolbox. It is distinct from type TOOLBAR because it does not correspond to a toolbar torn off from the main application. It's distinct from type DIALOG because it isn't a transient dialog, the user will probably keep it open while they're working.

nik012003 commented 1 year ago

Thanks for the prompt! I looked into this and it seems like that's an xorg only thing, in fact gtk4 doesn't implement that. For now, I think the best way to handle this is to let the user choose wether they want to make the window floating through their WM configuration.

Other ideas are welcome!

LRitzdorf commented 1 year ago

Oh, my apologies — I didn't realize EWMH hints were Xorg-only. Thanks for the prompt response!