5 ms·
X Window System: Principles
- lioeters 7y ago- Do not add new functionality unless you know of some real application that will require it. - It is as important to decide what a system is not as to decide what it is. Do not serve all the world's needs; rather, make the system extensible so that additional needs can be met in an upwardly compatible fashion. - The only thing worse than generalizing from one example is generalizing from no examples at all. - If a problem is not completely understood, it is probably best to provide no solution at all. - If you can get 90 percent of the desired effect for 10 percent of the work, use the simpler solution. (See also worse is better.) - Isolate complexity as much as possible. - Provide mechanism rather than policy. In particular, place user interface policy in the clients' hands.
- Upvoter33 7y agooh X windows, how you haunted my youth. Don't worry, you only need to buy like 11 manuals to make sense of it. :)
- cat199 7y agoat least there is a manual
- choward 7y agox11 manuals?
- alxlaz 7y agoParent is probably thinking about the books in this series: https://www.amazon.com/Programming-Manual-Version-Definitive-Guides/dp/1565920023 https://www.amazon.com/Programming-Manual-Version-Definitive... , although the "official" X11 documentation, in the form of man pages and other docs, was pretty damn good (albeit I don't think it was 11 volumes). Just seeing that cover brings the taste of coffee and very late nights spent at the lab back when going to bed at 2 AM and waking up at 8 AM to go to class was pretty easy. There was a whole series. I don't remember how many volumes it had, it may have been 12 but I'm not sure. It covered a lot more than just the protocol, and it was extraordinarily comprehensive. It included pretty much everything you needed to know in order to write X11-related code.
- alxlaz 7y agoI used to hate those eleven bloody manuals back in the day and didn't lose a single chance to complain about how the whole thing is a big designed-by-committee mess. Count your blessings though: Wayland has pretty much no up-to-date documentation about anything except the most trivial concepts. The only reason I can do anything with it today is that I had the chance to learn it as part of my job, so I could invest 8+ hours/day in it for several weeks and read heaps upon heaps of source code (of variable quality), ask stupid questions on IRC and mailing lists, and not the least of all, attend some workshops that my employer was glad to pay for (and thank God they were 'cause there's no way I'd have spent that kind of money to learn about Wayland). I mean, I definitely don't want to go back to writing code with the kind of technology that you can write a 12-volume manual about. Just thinking about Xlib makes me shudder. But I sure wish I had 12 volumes of information about Wayland...
- cycloptic 7y agoIf you're interested, the author of Sway recently open-sourced the draft of his book on Wayland: https://wayland-book.com/ https://wayland-book.com/
- alxlaz 7y agoI know about that book, and it certainly fills a big void (but it is an early draft -- 3-4 years ago, when I had to learn it, this wasn't around). It's good introductory material, IMHO, and it says a lot about the priorities of the companies involved in Wayland (and FOSS in general) that it's pretty much the only one of its kind, and written by a volunteer. If Wayland ever really becomes a successful desktop technology, Drew DeVault will have played an extraordinarily important role in it. It's nowhere near the kind of documentation that X11 had, but there is also no way that is ever going to happen without serious commercial backing. The team that worked on the The Definitive Guides to the X Window System book series was probably larger than all the teams that worked on all FOSS Wayland compositors in existence -- and could work on it full-time.
- cycloptic 7y ago
- deleted 7y ago[deleted]
- kubmit 7y agoX Window System programming principles in 2020: Use xcb.
- self_awareness 7y ago> Isolate complexity as much as possible. ICCCM, where are you going, stop, stop now, you have no access he-