Almamu / linux-wallpaperengine

Wallpaper Engine backgrounds for Linux!
GNU General Public License v3.0
1.59k stars 61 forks source link

Window class, x, y, width and height arguements #147

Closed Kasper24 closed 5 months ago

Kasper24 commented 1 year ago

You might want to change some code, but that's the general idea. More info at https://github.com/Almamu/linux-wallpaperengine/discussions/146

It could be also interesting to add options to set some x11 hints, like make it appear below other clients, set it to sticky, make it non moveable/resizeable, set skip taskbar hint etc. Right now I apply these props to the client via my awesome config, but it could be useful for other WMs where you can't do such thing

Almamu commented 1 year ago

I didn't think of doing it this way to be honest. Do you think that creating the windows in the specific screen coordinates would be okay instead of setting things manually? I have changes almost ready to run different backgrounds on different screens off one instance, and having a "mode" argument to change how the windows are created (x11 drawing, plain windows with specific configurations) could probably go a long way and be easier to understand.

About the x11 hints, that's something we could set as part of the "mode" argument.

Kasper24 commented 1 year ago

Hmm, I think it could still be useful for other things? I also made use of this to spawn a "preview" next to my wallpaper manager window. There's the class argument too. As for the modes, what does it look like? For the hints I haven't any luck setting those, maybe you could guide me in the right direction

Almamu commented 1 year ago

I've just pushed the changes that add support for setting the window's geometry to whatever you want (position and size) with support for multiple backgrounds with just one instance for those that can use it as X11 background.

For the hints, I was thinking about adding an argument to control those, but I'm not really sure how to approach it. what changes are you applying to the window? Maybe we can come up with a better way of applying those directly from the linux-wallpaperengine binary so everyone can use them.

Almamu commented 1 year ago

With 93380ae229d5a5f0d00df00fff7fc62ec990286f I've added some window hints that should help with compositors that try to take control over the window, and disabled decorations for it.

I've also set class and instance names to the window so they stay the same regardless of the title show in the window.