# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 31
# self = https://watcher.sour.is/conv/te2mlfa
“no one wants to spend time fixing anything related to X11 now as Wayland is just around the corner” https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241#note_1153655

That guy is scaring me. 😬
“no one wants to spend time fixing anything related to X11 now as Wayland is just around the corner” https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241#note_1153655

That guy is scaring me. 😬
“no one wants to spend time fixing anything related to X11 now as Wayland is just around the corner” https://gitlab.freedesktop.org/xorg/xserver/-/issues/1241#note_1153655

That guy is scaring me. 😬
@movq Is it really? I heard that years ago.
@movq To clarify: That Wayland is about to take over.
@lyse Yeah, they keep saying that all the time. I don’t know. 🤔 If Wayland didn’t put so much responsibility on the “compositor”, I’d be much less worried about it. But this makes it super hard for small(er) projects to implement a functional Wayland “server”.
@lyse Yeah, they keep saying that all the time. I don’t know. 🤔 If Wayland didn’t put so much responsibility on the “compositor”, I’d be much less worried about it. But this makes it super hard for small(er) projects to implement a functional Wayland “server”.
@lyse Yeah, they keep saying that all the time. I don’t know. 🤔 If Wayland didn’t put so much responsibility on the “compositor”, I’d be much less worried about it. But this makes it super hard for small(er) projects to implement a functional Wayland “server”.
@movq Hmmm. I haven't looked into the details yet at all.
@lyse Here’s my take on it (that’s last time I checked – maybe some things changed):

- The Wayland wire protocol aside, you have to do everything yourself: Manage display buffers (let’s say “on an OpenGL level”), handle monitors, handle mouse/keyboard/whatever input, … Basically everything that the X server does today. *You* have to write that code now.
- There is basically only one library that truly tries to help you here: wlroots https://gitlab.freedesktop.org/wlroots/wlroots/ (this is already a “third party” library, it’s from the Sway project; Sway being a port of i3wm to Wayland)
- On top of that, you implement decorations, window management, …
- Then there is a myriad of protocol extension and a little battle between GNOME, KDE, and the rest of the world. For example, GNOME wants to enforce client-side decorations, the others don’t. Many of the protocol extensions are still unstable. To give you an idea of what is meant by “protocol extension”: https://wayland.app/protocols/
- You very much need *an X11 compatibility layer* that runs on top of Wayland for backwards compatibility, and this is usually implemented in the compositor as well.

What X11 gave us was a server that allowed programs to draw windows. And then we could have totally different programs that managed those windows. This was *awesome*. Yes, there are problems. But instead of refining this model and extending it, we are being nudged into having “the Wayland compositor”, which is responsible for everything.

Wayland cares a lot about “each frame is perfect”. Clients draw a full frame into a buffer and then the compositor will use that buffer to assemble the next frame. So there is no more “flickering”, like we have with X11 now. (You’re probably used to it and don’t notice it.) This is one of the main goals and I *suspect* that this is part of the reason why everything has to be done in the compositor? Not sure.

I *think* it would be possible to split all this into different components. Problem is, nobody does it that way. There’s GNOME, which doesn’t care about any of this, they’re a huge project with a ton of manpower, they just do what they want. I don’t know what KDE does. Sway made wlroots, which is probably the best thing we have, but even Sway is just a library that you link against, so you end up with one single binary.

Just look at “TinyWL”, the “minimum viable product Wayland compositor based on wlroots”: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/tinywl/tinywl.c – Look at the size of that thing!

I heard people complain and give up, because Wayland/wlroots is moving so fast that they can’t keep up with their own “toy” compositor. @z3bra tried it and eventually gave up.

Note that there were many small Wayland compositors in the beginning, but they all died. I don’t know why, though.

Bottom line is: With X11, it was easy enough to write a window manager, so that one single person could do it. This allows me to run a fully customized desktop environment. With Wayland, there is no “server” anymore and I would have to do *so much more work*, that it’s just not feasible anymore. Result: I’d probably be stuck with *some* desktop environment that I’d hardly be able to customize. And that would suck *a lot*.

But that’s only the status quo. Maybe things will change dramatically, when X11 really dies. I suspect there’s a lot of demand for small niche compositors, and I hope that we will get into a similar situation like today (tons of WMs and DEs to chose from, or you write your own). But we’re a long way from that and things are *not* going in that direction.

@lyse Here’s my take on it (that’s last time I checked – maybe some things changed):

- The Wayland wire protocol aside, you have to do everything yourself: Manage display buffers (let’s say “on an OpenGL level”), handle monitors, handle mouse/keyboard/whatever input, … Basically everything that the X server does today. *You* have to write that code now.
- There is basically only one library that truly tries to help you here: wlroots https://gitlab.freedesktop.org/wlroots/wlroots/ (this is already a “third party” library, it’s from the Sway project; Sway being a port of i3wm to Wayland)
- On top of that, you implement decorations, window management, …
- Then there is a myriad of protocol extension and a little battle between GNOME, KDE, and the rest of the world. For example, GNOME wants to enforce client-side decorations, the others don’t. Many of the protocol extensions are still unstable. To give you an idea of what is meant by “protocol extension”: https://wayland.app/protocols/
- You very much need *an X11 compatibility layer* that runs on top of Wayland for backwards compatibility, and this is usually implemented in the compositor as well.

What X11 gave us was a server that allowed programs to draw windows. And then we could have totally different programs that managed those windows. This was *awesome*. Yes, there are problems. But instead of refining this model and extending it, we are being nudged into having “the Wayland compositor”, which is responsible for everything.

Wayland cares a lot about “each frame is perfect”. Clients draw a full frame into a buffer and then the compositor will use that buffer to assemble the next frame. So there is no more “flickering”, like we have with X11 now. (You’re probably used to it and don’t notice it.) This is one of the main goals and I *suspect* that this is part of the reason why everything has to be done in the compositor? Not sure.

I *think* it would be possible to split all this into different components. Problem is, nobody does it that way. There’s GNOME, which doesn’t care about any of this, they’re a huge project with a ton of manpower, they just do what they want. I don’t know what KDE does. Sway made wlroots, which is probably the best thing we have, but even Sway is just a library that you link against, so you end up with one single binary.

Just look at “TinyWL”, the “minimum viable product Wayland compositor based on wlroots”: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/tinywl/tinywl.c – Look at the size of that thing!

I heard people complain and give up, because Wayland/wlroots is moving so fast that they can’t keep up with their own “toy” compositor. @z3bra tried it and eventually gave up.

Note that there were many small Wayland compositors in the beginning, but they all died. I don’t know why, though.

Bottom line is: With X11, it was easy enough to write a window manager, so that one single person could do it. This allows me to run a fully customized desktop environment. With Wayland, there is no “server” anymore and I would have to do *so much more work*, that it’s just not feasible anymore. Result: I’d probably be stuck with *some* desktop environment that I’d hardly be able to customize. And that would suck *a lot*.

But that’s only the status quo. Maybe things will change dramatically, when X11 really dies. I suspect there’s a lot of demand for small niche compositors, and I hope that we will get into a similar situation like today (tons of WMs and DEs to chose from, or you write your own). But we’re a long way from that and things are *not* going in that direction.

@lyse Here’s my take on it (that’s last time I checked – maybe some things changed):

- The Wayland wire protocol aside, you have to do everything yourself: Manage display buffers (let’s say “on an OpenGL level”), handle monitors, handle mouse/keyboard/whatever input, … Basically everything that the X server does today. *You* have to write that code now.
- There is basically only one library that truly tries to help you here: wlroots https://gitlab.freedesktop.org/wlroots/wlroots/ (this is already a “third party” library, it’s from the Sway project; Sway being a port of i3wm to Wayland)
- On top of that, you implement decorations, window management, …
- Then there is a myriad of protocol extension and a little battle between GNOME, KDE, and the rest of the world. For example, GNOME wants to enforce client-side decorations, the others don’t. Many of the protocol extensions are still unstable. To give you an idea of what is meant by “protocol extension”: https://wayland.app/protocols/
- You very much need *an X11 compatibility layer* that runs on top of Wayland for backwards compatibility, and this is usually implemented in the compositor as well.

What X11 gave us was a server that allowed programs to draw windows. And then we could have totally different programs that managed those windows. This was *awesome*. Yes, there are problems. But instead of refining this model and extending it, we are being nudged into having “the Wayland compositor”, which is responsible for everything.

Wayland cares a lot about “each frame is perfect”. Clients draw a full frame into a buffer and then the compositor will use that buffer to assemble the next frame. So there is no more “flickering”, like we have with X11 now. (You’re probably used to it and don’t notice it.) This is one of the main goals and I *suspect* that this is part of the reason why everything has to be done in the compositor? Not sure.

I *think* it would be possible to split all this into different components. Problem is, nobody does it that way. There’s GNOME, which doesn’t care about any of this, they’re a huge project with a ton of manpower, they just do what they want. I don’t know what KDE does. Sway made wlroots, which is probably the best thing we have, but even Sway is just a library that you link against, so you end up with one single binary.

Just look at “TinyWL”, the “minimum viable product Wayland compositor based on wlroots”: https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/tinywl/tinywl.c – Look at the size of that thing!

I heard people complain and give up, because Wayland/wlroots is moving so fast that they can’t keep up with their own “toy” compositor. @z3bra tried it and eventually gave up.

Note that there were many small Wayland compositors in the beginning, but they all died. I don’t know why, though.

Bottom line is: With X11, it was easy enough to write a window manager, so that one single person could do it. This allows me to run a fully customized desktop environment. With Wayland, there is no “server” anymore and I would have to do *so much more work*, that it’s just not feasible anymore. Result: I’d probably be stuck with *some* desktop environment that I’d hardly be able to customize. And that would suck *a lot*.

But that’s only the status quo. Maybe things will change dramatically, when X11 really dies. I suspect there’s a lot of demand for small niche compositors, and I hope that we will get into a similar situation like today (tons of WMs and DEs to chose from, or you write your own). But we’re a long way from that and things are *not* going in that direction.

Oof, what a wall of text. So much for twtxt being a “microblogging” platform. 🤪
Oof, what a wall of text. So much for twtxt being a “microblogging” platform. 🤪
Oof, what a wall of text. So much for twtxt being a “microblogging” platform. 🤪
@stackeffect is sharing diffs and @movq is writing 600 word blog posts... What's next?
@mckinley well.. we did used to have a long form blog on here.. but it kinda went by the wayside.
@mckinley well.. we did used to have a long form blog on here.. but it kinda went by the wayside.
it honestly probably doesn’t matter 🤣
it honestly probably doesn’t matter 🤣
Holy fuck, @movq, this is gazillion times worse than I ever imagined. Let's just hope that X11 never dies. I can't go back to KDE, I need my i3. It's doing exactly what I want. I never noticed any flickering btw. At least not on the same machine, X11 forwarding via SSH is a different story, but it's been ages since I used that. And thanks for taking the time to write this all up. Well, @mckinley, I heard it's going to be encrypted feeds.
@lyse Looking forward to it. I know there's at least one PGP signed feed out there: https://domgoergen.com/twtxt/mdom.txt
@lyse @mckinley damn, now I'm sad that the way they do it doesn't really follow the twtxt form
@lyse @mckinley damn, now I'm sad that the way they do it doesn't really follow the twtxt format…
@lyse @mckinley damn, now I'm sad that the way they do it doesn't really follow the twtxt format…
@mckinley Yup familiar with that feed. Trouble is no client understands encrypted feeds today let alone signed feeds. So there that 🤣
@mckinley Yup familiar with that feed. Trouble is no client understands encrypted feeds today let alone signed feeds. So there that 🤣
@lyse To be fair, sway https://swaywm.org/ is an i3 clone for Wayland. So I guess you might be fine. 😁 (As for the flickering: If you’re used to it, then you don’t notice it. But it’s there, almost 100% sure of it. Question is, if people don’t notice it, how import is it to fix it …)
@lyse To be fair, sway https://swaywm.org/ is an i3 clone for Wayland. So I guess you might be fine. 😁 (As for the flickering: If you’re used to it, then you don’t notice it. But it’s there, almost 100% sure of it. Question is, if people don’t notice it, how import is it to fix it …)
@lyse To be fair, sway https://swaywm.org/ is an i3 clone for Wayland. So I guess you might be fine. 😁 (As for the flickering: If you’re used to it, then you don’t notice it. But it’s there, almost 100% sure of it. Question is, if people don’t notice it, how import is it to fix it …)
@movq Hmm, okay. Well, I really tried hard to concentrate in order to see any flickering, but I'm out of luck. :-)