I'm creating this GTK Tutorial as part of my CAS (Creativity, Activity and Service) Project for the IB Diploma Programme. This tutorial will contain:
- Introduction to GTK and GObject
- What is GTK?
- Hello world!
- Organizing our window: Boxes and Grids
- Buttons and signaling
- Entries and Spinbuttons
- Headerbar buttons
- GObject Properties and bindings
- Different views, same window. GtkStackSwitcher
- Gtk Inspector and testing
- Meson: A modern build system
- Building our project with Meson
- Experimenting with Meson
- Flatpak: the modern app distribution system
- Why Flatpak?
- Hello world, from a sandbox!
- Flatpak permissions and how to use them
- Breaking and fixing flatpak apps with Flatseal
- Maintainable UI: An introduction to GTK RAD Tools
- An introduction to Glade
- Creating our first window in Glade
- GResources and post install scripts in Meson
- Composite templates and Gresources
- Saving app information: Introduction to GSchemas
- An introduction to GSchemas
- How to use GLib.Settings
- A trivial Application:
- Creating a GNOME Builder template
- Building our UI with Glade
- Reading XML files for UI, and writting them by hand
- Custom stylesheet with for our application
- Extending other GtkWidgets
- Translations
- A trivial application 2: An Introduction to Libhandy
- What is libhandy?
- An modern and adaptative StackSwitcher with libhandy
- Adaptative preferences window
- Keyboard shortcuts and Actions
- Porting our application to GTK4:
- GTK4 builder tool (gtk4-builder-tool)
- Replacing Handy widgets with Adwaita Widgets
- A world full of colors: Libadwaita
- Accent Colors!
- AdwApplication and automatic stylesheets
- The Dark and Light preferences settings
From which, this sections have been completed:
- Introduction to GTK and GObject
- Meson: A modern build system
- Flatpak: the modern app distribution system
- Maintainable UI: An introduction to GTK RAD Tools
- Saving app information: Introduction to GSchemas
- A trivial Application
- A trivial application 2: An Introduction to Libhandy
- Porting our application to GTK4
- A World Full of Colors: an introduction to Libadwaita
Suggestions, feedback, recommendations are welcomed. You can contact me on Matrix too: @dimmednerd:matrix.org