A Collection of GUI Tutorials

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.
Post Reply
quadrant
Member
Member
Posts: 74
Joined: Tue Apr 24, 2018 9:46 pm

A Collection of GUI Tutorials

Post by quadrant »

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).

1) "GUI Development" by Brandon Friesen

2) "FYSOS: The Graphical User Interface" by Benjamin David Lunt

3) "Windowing Systems by Example" by Joseph Marlin

======

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.

2) "Widget Toolkit" by Saffith

======

Here is a list of general talks that touch on the design and implementation of a GUI from scratch.

1) By Andreas Kling: 2) "ToaruOS at 5 Years: A Closer Look at a Hobby OS" by Kevin Lange
More information can be found here and here.

======
Last edited by quadrant on Thu Aug 27, 2020 3:53 pm, edited 3 times in total.
User avatar
eekee
Member
Member
Posts: 892
Joined: Mon May 22, 2017 5:56 am
Location: Kerbin
Discord: eekee
Contact:

Re: A Collection of GUI Tutorials

Post by eekee »

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
quadrant
Member
Member
Posts: 74
Joined: Tue Apr 24, 2018 9:46 pm

Re: A Collection of GUI Tutorials

Post by quadrant »

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.
Korona
Member
Member
Posts: 1000
Joined: Thu May 17, 2007 1:27 pm
Contact:

Re: A Collection of GUI Tutorials

Post by Korona »

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].
rkennedy9064
Member
Member
Posts: 36
Joined: Wed Sep 01, 2010 3:54 pm

Re: A Collection of GUI Tutorials

Post by rkennedy9064 »

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.
ComputerFido
Member
Member
Posts: 44
Joined: Fri Sep 09, 2016 5:52 pm
Location: Australia
Contact:

Re: A Collection of GUI Tutorials

Post by ComputerFido »

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.
They are on the Internet Archive
rkennedy9064
Member
Member
Posts: 36
Joined: Wed Sep 01, 2010 3:54 pm

Re: A Collection of GUI Tutorials

Post by rkennedy9064 »

Wow I forgot that even existed. Thanks!
Post Reply