Any chance anyone knows of something similar to this but using Wayland as opposed to X?
Any chance anyone knows of something similar to this but using Wayland as opposed to X?
Do you have any pointers to getting started developing for with Wayland (and wlroot)?
Writing a heavily constrained, low-level compositor seems like an interesting project. Maybe something that only supports a single type of graphics output, and uses KMS and DRI directly.
ps. Thanks for creating/maintaining Sway! it's great stuff! ds.
And I'm glad you like sway :)
While I have been busy and will be busy for a few more months I look very much forward to working through your posts and learning something about wayland and sway then :)
also kudos :)
Well yes and no. A wayland compositor has to blit the images of the applications which need to draw themselves into buffers. At least that's my understanding of it. The compositor isn't supposed to draw anything, it just copies things to the frame buffer. I would hope a basic compositor could be done with not too much code.
Depends, some of us thinks that server side decorations are better for security, because otherwise a client can fake the look of another client.
If the decorations are done server-side then all applications will look the same anyway.
Having said that, I think decorations probably are the job of the desktop environment since those are the things that a user manipulates at that level of abstraction. Moving, resizing, closing programs is a UI thing and an application really shouldn't know where it is within the desktop environment. That's actually a security concern IMHO.
Uh? You should read about QubesOS..
The whole point behind Wayland is to make a 100% clean break from X. Of course as it turns out that means reinventing and replacing all the things that made X good in the first place with something completely new, because newer=gooder. And reading old code is hard, so everything on the Linux tech stack needs to be completely reimplemented so GNOME devs can maintain it for its five-year lifecycle before it all gets thrown out and replaced with something even newer (and gooder).
Still, there is a convenient Wayland compositor library that is designed for devs to build own window managers. Check wlc [1]. wlc has a nice and simple example [2] but not as short as TinyWM.
[1]: https://github.com/Cloudef/wlc
[2]: https://github.com/Cloudef/wlc/blob/master/example/example.c
At that point you have recreated a normal efficient way to use a tiling window manager with the additional burden of doing the tiling yourself instead of having the wm do it for you.
It seems likely that those who have an enthusiasm for this workflow are mostly working on desktop environments like gnome/plasma/lxqt.
it's far more useful than a taskbar or expose, since they keep moving what i'm using. the taskbar is a particularly poor design since all i have is a title and at that point i'm just guessing and hoping.
tiling window managers and raise-on-focus systems don't particularly appeal to me because they require me to see the whole of a window. tiling window managers probably have a way to ensure a window is exactly where i left it but it seems antithetical to the alleged advantages. (doesn't "automatically manage your windows" mean "automatically decide where to put a window, and move them around based on the size of other windows"?)
Note that a workspace in this instance is only one monitor in a multi monitor configuration.
By default a single window workspace it takes up all the space. Opening another gives you a new window to the right of the first each half the width of the screen.
On a tall not wide screen it would appear below the first each half the height of the screen.
You can have splitv and splith containers as well as vertical or horizontal tabbed layouts of any kind of windows.
Dialog windows are automatically floating.
You can have containers by containers or nested as you please example 3 horizontal tabs each split in half if you like.