All projects
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.