On Sun, Jun 30, 2013 at 10:27:36AM +0200, Christoph Lohmann wrote: > Greetings. > > On Sun, 30 Jun 2013 10:27:36 +0200 oneofthem <oneoft...@lavabit.com> wrote: > > Why doesn't any of the suckless software use a client-server model? > > Learn about X11. And then stop those stupid questions without any intro‐ > duction or greeting. You are disrespectuful and should not use other > people’s time in such a parasitic way. > > > Sincerely, > > Christoph Lohmann >
Hi all, speaking of X11, I've been meaning to ask for a while now, but why do you dislike it? I have looked around on the Internet, but the only criticisms of it I have seen, are either angrish (someone not capable of explaining themselves) or some style arguments (i.e. it looks ugly). None of these really applies to a desktop with DWM and assorted software, anyway. If the criticism is against the client-server model, then why do you dislike that? Or would you like something like rio better? That would be basically the same thing, only with RPC in the middle (and I thought you guys despised that). For the uninitiated: - X11 does its job by accepting connections via a socket and fulfilling requests as they come in. That way the program that handles user input and display output can be separate from the program that does something with those two. In essence, X11 is a way of sharing the driver code between processes without using the abomination called shared libraries. - rio does its job by having client processes mount a network pseudo filesystem somewhere and detecting writes to the particular files within those filesystems. Every mount is a connection. However, due to the fact, that this process uses a network file system, a socket is still involved, and rio still accepts connections on it. Just this time this fact is hidden in the kernel code. Through that socket the processes simulate file access, only these are special files, so it boils down to RPC with arbitrary function names, even. If the argument is against complexity: I cannot imagine rio being simpler that X11. rio contains driver code for access to the display and the inputs, window management code and a terminal emulator. I don't see that being simpler than just the driver code for access to display and inputs. I can see, that Xorg is a very complex implementation of the X11 protocol, and that that protocoll is not very good, seeing as how it was extended several times, the extensions oftentimes being incompatible with each other (e.g. Xinerama + Xdbe) or even superseding another one (Xrandr + Xinerama). In short, would you still hate X11 if someone went and streamlined both protocol and implementation? If so, why? Ciao, Markus