I wrote an X11 window manager at the end of 2015. I still use it to this
day, both at home and at work. This was a really fun and interesting
endeavour.

Wayland is "just around the corner"(tm). Do I write a Wayland compositor
now?

I don't think so.

On the one hand, I really want to run my own WM. Being in full control
over your UI is a great thing. I can implement everything the way *I*
want it and I don't have to beg some other developer to add this or that
feature. So, I can't stop thinking about writing a Wayland compositor.

On the other hand, I really want to run my own *WM*. Emphasize on
*window manager*. Wayland does not allow you to do that. Well, maybe the
underlying protocol does, but not the current eco system. There is no
"Wayland server". I cannot write a "Wayland window manager", instead I
have to write a Wayland compositor. This includes everything and the
kitchen sink: Monitor handling, input handling, clipboard, and what not.
There is a good library these days to help you with that, but you still
have to do lots and lots of stuff:

https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/tinywl/tinywl.c

That thing is called "TinyWL". It's basically the most minimal
non-useless Wayland compositor that you can write.

This is too much. I don't have the resources to do this and, frankly,
neither do I have the motivation. Things like handling hotplugging of
keyboards are not interesting to me. I care about window layout
algorithms and, maybe, window decorations, but not about managing seats
and pointers and whatever.

So, for now, I'll just wait and see how long X11 stays alive.

By the way, why was there never a second X server implementation? Why do
we all depend on X.Org now? If there was another X server, it wouldn't
really matter that the former X devs (who are now the Wayland devs)
aren't interested in X11 anymore. (At least this won't happen with
Wayland again.)

One hypothetical way out of this whole mess is to not care about
graphical windows at all. I spend 99% of my time in terminals anyway, so
I could just become a tmux poweruser or something like that. Still feels
like a big step backwards, though. (I was a GNU screen poweruser before
I eventually switched to tiling WMs.)


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


An interesting thing about Wayland: It's been around since 2008. That's
about 14 years now. Isn't that, like, a really long time? And we're
still using X11? Why is that?

There is a ton of inertia in the tech world, but I don't think that's
it. My guess: X11 is *good enough*. (At least the X11 that we have
today, not the "draw 5 stippled lines"-X11.) Wayland is be better in
some areas, but it's not a huge step forwards. It doesn't have any
killer features. What people see is mostly *change*, not *improvement*.

There are lots of things in the tech world that aren't great -- but good
enough. Like, terminals aren't great, ncurses is called "curses" for a
reason -- but they're good enough.

As I said above, the Wayland devs are the former X11 devs (basically).
If that wasn't the case, so if Wayland was just some independent
project, we'd probably not even be talking about it right now.