1. 1. Basics
    1. 1.1. About GTK
    2. 1.2. Getting Started
    3. 1.3. Using GLib as an Async Runtime
    4. 1.4. Event-Driven Approach
    5. 1.5. Creating a Window with a Button
    6. 1.6. GTK Widget Reference
  2. 2. ToDo
    1. 2.1. Using gtk::Application
    2. 2.2. Modeling Our Events
    3. 2.3. Loading and Savings in the Background
    4. 2.4. Creating the Task Widget Struct
    5. 2.5. Creating the Base App
    6. 2.6. Inserting and Removing Tasks
    7. 2.7. Signaling When to Save
    8. 2.8. Loading Tasks From a File
    9. 2.9. Marking & Removing Done Tasks with CheckButtons
    10. 2.10. Managing Multiple ToDo Lists

Event-Driven GTK by Example — 2021 Edition

Managing Multiple ToDo Lists