coffeeispower / woomer

Zoomer application for Wayland inspired by tsoding's boomer
MIT License
89 stars 4 forks source link

Woomer breaks tiling of fullscreen / maximized windows #5

Open jacekpoz opened 4 months ago

jacekpoz commented 4 months ago

opening woomer on a workspace with a fullscreen / maximized window un-fullscreens it - after closing woomer they're back to normal tiling

not sure how to fix this, it'd be great if you found a way

coffeeispower commented 4 months ago

This is a thing I think I can't really fix because woomer opens a fullscreen window and you can't have 2 fullscreen windows on the same workspace.

jacekpoz commented 4 months ago

one idea I had was to check if the active window's fullscreen is true, if that's the case fullscreening it again after the woomer window is closed but that's really hacky

what about making woomer a layer_surface?

coffeeispower commented 4 months ago

I'm not sure if glfw supports opening layers instead of windows. The only way this could be done is if i can convert the glfw window into a layer somehow

Shinyzenith commented 4 months ago

To fix this issue, would you accept a pr that optionally creates a egl backend from scratch with layer shell?

coffeeispower commented 4 months ago

@Shinyzenith I'm not sure because that would conflict with #9 , i would prefer to keep raylib, but if it has to be done i wouldn't mind too much losing support for a niche operating system for video games because the main focus of this project is wayland.

But that would require to literally rewrite woomer from scratch... And maybe increase the amount of code from a few hundreds to probably a thousand lines.

It seems also that gnome doesn't support the layer protocol sooo...

This makes me think about if it's worth missing out a lot on compatibility for just not making fullscreen apps get out of fullscreen mode when woomer is opened, you can just put the application back in fullscreen mode

coffeeispower commented 4 months ago

Let's see if raysan says something on my issue, i really hope so

coffeeispower commented 4 months ago

Got an idea, i can pull up the glfw window handle from raylib, than pull the wayland surface and then convert it into a layer, what do you think? do you think this will work?

Shinyzenith commented 4 months ago

I am unsure...I'll test out my PoC before I speak further

coffeeispower commented 4 months ago

We got good news, it seems like raysan would accept a PR adding support for layer surfaces on raylib: https://github.com/raysan5/raylib/issues/4009#issuecomment-2137520006 So fortunately we will have this issue fixed!