All projects

2025

GTK Interface Generator

A C/GTK desktop tool for designing interfaces visually and exporting them as XML.

CGTKXMLGit

Overview

UIForge is a desktop tool written in C with GTK3 for designing graphical interfaces visually. A design is exported as XML in a custom markup language, and the generated interface can then run on its own.

It is a developer-oriented builder that gives fine control over GTK rendering and keeps the generated output traceable and extensible.

What I built

  • Engineered a C/GTK desktop tool for dynamic UI design with XML layout import and export.
  • Added event listener support, component generation and function binding.
  • Structured the repository and documentation using Git/GitHub best practices.

Design and architecture

  • Core model: a view tree where each node is one GTK widget and the single source of truth for the interface.
  • XML: a custom markup language for widgets and containers, used for faithful export and import.
  • Interaction: signal management for click, hover, change and key events, plus live editing of colors, margins, fonts and sizes.