Course details
Graphical User Interfaces in X Window System
GUX Acad. year 2024/2025 Winter semester 5 credits
Interaction between user and application, different application classes. Graphical User Interface in Unix and its history. X Window System structure, X server concept, X Protocol. Wayland and core protocols. Application programming interface, Toolkits. Standard X Toolkit and its usage. Object orientation features in X Toolkit and Gtk. Widget names, attributes and manipulation. Event processing. Base Gtk classes. Programming Gtk3 and Gtk4.
Guarantor
Language of instruction
Completion
Time span
- 26 hrs lectures
- 26 hrs projects
Assessment points
- 20 pts projects
Department
Lecturer
Instructor
Learning objectives
The goal is to make students familiar with the design and programming of graphical user interfaces in Unix/X Window System environment.
Students will get knowledge of application programming in X Window, X Toolkit Intrinsics, Gtk3, Gtk4 and basic principles of user interface design.
Prerequisite knowledge and skills
C language programming in Unix environment.
Study literature
- Krause, A.: Foundations of GTK+ Development, Apress, 2007, ISBN13: 978-1-59059-793-4 Heller, D.: Motif Programming Manual, O'Reilly & Associates, 3rd ed 2002, ISBN 1-56592-016-3 https://docs.gtk.org/gtk4/
Fundamental literature
- Hix, D., Hartson, H., R.: Developing User Interfaces: Ensuring Usability Through Product & Process, John Wiley & Sons, 1993, ISBN 0-471-57813-4
- Scheifler, R., W., Gettys, J.: X Window System, The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, Digital Press, 1990, ISBN 1-55558-050-5
- Nye, A., O'Reilly, T.: X Toolkit Intrinsics Programming Manual, OSF/Motif Edition, O'Reilly & Associates, 1990, ISBN 0-937175-62-5
- Krause, A.: Foundations of GTK+ Development, Apress, 2007, ISBN13: 978-1-59059-793-4
- Heller, D.: Motif Programming Manual, O'Reilly & Associates, 3rd ed 2002, ISBN 1-56592-016-3
- Sheets, J.R.: Writing GNOME applications, Addison-Wesley, 2001, ISBN 0-201-65791-0
- Dallheimer, M.K.: Programming with Qt, O'Reilly Verlag GmbH, 2001, ISBN 0-596-00064-2
- Warkus, M.: Official GNOME 2 Developer's Guide, O'Reilly, 2004, ISBN: 1-59327-030-5
Syllabus of lectures
- Application classes from the point of view of user interaction.
- X Window System structure, X Protocol, input and output graphic operations.
- Simple application example using Xlib, XCB or Wayland. Toolkits, example of application using X Toolkit/Motif or Gtk3/4.
- OOP features in X Toolkit and Gtk, instance and class of widgets, properties, internal implementation.
- Widget naming system, resources, convertors.
- Built-in X Toolkit and Gtk widget classes and their usage.
- Event processing, translation table, action table.
- Simple Gtk widget classes and their usage.
- Composite widget classes.
- Menu and dialogs.
Syllabus - others, projects and individual work of students
- Gtk/GNOME application, individual assignment.
Progress assessment
Written mid-term exam (max. 20 points) and submitting projects in due dates. There is no alternative term of mid-term exam.
Projects have to be submitted before the deadline, late project submission will be graded 0 points.
Schedule
Day | Type | Weeks | Room | Start | End | Capacity | Lect.grp | Groups | Info |
---|---|---|---|---|---|---|---|---|---|
Wed | lecture | lectures | L314 | 08:00 | 09:50 | 30 | 1MIT 2MIT | xx | Lampa |
Course inclusion in study plans