LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   how or where can i learn about building my own windowing system and app manager (https://www.linuxquestions.org/questions/linux-software-2/how-or-where-can-i-learn-about-building-my-own-windowing-system-and-app-manager-730607/)

iqnatius 06-04-2009 04:46 AM

how or where can i learn about building my own windowing system and app manager
 
Hi all,
I just started to learn to build a linux distro from scratch with the guidance of http://www.linuxfromscratch.org/.

Now, I am curious about how a windowing system and app manager works. For example, when i double click on firefox icon, i would like to know what happen.

What I know is, please correct me if i am wrong, the program will fork and execute it in the child process. Then a tab appears in the task bar, is this based on pid or is there an app manager keeping track and when the tab instance is clicked on, it will send a message to the app to go to the front.

Now the question is how do I confirm my understanding. Is there any good tutorial for me to build my own KDE or GNOME. Perhaps on top of GTK+.

Thank you very much.

Adrian

soleilarw 06-04-2009 08:45 AM

Creating a window manager from scratch is a daunting task. You really should know what you want to achieve. If only curiosity is involved, then rather start out by examining the source code for twm, fluxbox or even WindowMaker. You could also start with Gnome or KDE, but these are extremely complex. Another option would be to get your hands on some old Macintosh or trying to install BeOS or Haiku (a re-coded BeOS) to get a feeling how GUI desktops can be done differently with a minimum of system resources (when compared to recent PC's). The old Inside Apple Macintosh developer books are available as PDF files online, have a Google serach for these. They are old, but provide a good description of GUI interfaces. The old Next manuals are also quite revealing.

In the end you will have to deal with process handling, managing windows (including decoration, borders, title bars, standard clickable items), control items (buttons, checkboxes, lists), maintaining config file, allowing interaction with KDE/Gnome applications, GUI graphics and double-buffering, text and font glyph display, etc, etc.

Linux Archive


All times are GMT -5. The time now is 09:05 AM.