Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
It seems comprehensive GUI (Graphical User Interface) tutorials are hard to come by. This post will be an attempt to list all the tutorials currently available. This is what I have so far (credits to this post by user ~). If you come across tutorials that should be on here, please leave a comment.
======
Here is a list of tutorials (in no particular order).
Here is a list of resources that are not quite tutorials. They demonstrate the most basic concepts of a GUI, using a small amount of code.
1) "Windows Manager Demo" by Alexei A. Frounze This one is not quite a tutorial, but instead a minimal implementation example. A screenshot can be found here.
Thanks quadrant, this is good, although information like this is much better kept in wikis than forums. On the other hand, forums let me post things like this:
I had a look at "Windows Manager Demo". It's about 2500 lines of code, which reminds me I heard Wayland was only 4000 lines of code before the freedesktop folk adopted it. It makes me want to bring up the old... motivational phrase, "Look what you can accomplish if you set your mind to it."
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
I hope the list grows! Maybe one day it can be a Wiki page. At the moment, the list only has what I've come across. Hopefully by being on the forum, people can chime in with resources they've found helpful. The plan is to keep the first post up to date so that someone doesn't have to read the whole thread.
eekee wrote:I heard Wayland was only 4000 lines of code before the freedesktop folk adopted it.
Had a quick look through the code of the earliest release I could find on their repository (0.85.0). I'm still very much new to GUI implementation, and at first glance it looks like some dicey code to interpret without prior exposure to GUI principles... Do you know if the code in that release is functional? For example, I wonder if it can render this hello world example.
Wayland is not that hard to read once you know what's going on. It does not deal with rendering at all - every window is just a buffer in shared memory (accessed through a file descriptor transferred over a local UNIX socket) and the core Wayland protocol allows you to atomically assign buffers to windows etc.
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].
I was looking at the Windowing Systems by Example posts and it looks like the site is down now. Anyone know what happened, or happen to have an archived version? I can get some of them from Google cache, but not all of them.
rkennedy9064 wrote:I was looking at the Windowing Systems by Example posts and it looks like the site is down now. Anyone know what happened, or happen to have an archived version? I can get some of them from Google cache, but not all of them.