# Cambalache 1.0: Visueller Editor für GTK-3- und GTK-4-Oberflächen
Am 20. März 2026 wurde Cambalache 1.0 veröffentlicht – ein Open-Source-Tool zum visuellen Entwerfen von GTK-3- und GTK-4-Oberflächen. Das Projekt verwendet einen WYSIWYG-Ansatz mit einem datenzentrierten MVC-Modell. Geschrieben in Python, lizenziert unter LGPLv2.1, installierbar über Flatpak. Im Gegensatz zu Glade unterstützt es mehrere UIs in einem einzigen Projekt, ohne auf GtkBuilder oder GObject angewiesen zu sein, ist aber vollständig kompatibel mit GObject-Typen.
Cambalache bearbeitet GTK-CSS-Styles, GResources-XML, Widget-Vorlagen, GtkBuilder-XML und Blueprint. Das Datenmodell importiert/exportiert mehrere Oberflächen, verwaltet Objekte, Eigenschaften und Signale. Es verfügt über einen Undo/Redo-Stapel mit Historienkomprimierung. Das Hilfsprogramm cambalache-db erzeugt das Modell aus GIR-Dateien, während db-codegen GObject-Klassen aus den Modelltabellen generiert.
Unterstützung für GTK 3 und GTK 4 in einer einheitlichen Umgebung
Das Projekt erzeugt Oberflächen für GTK 3 oder 4 basierend auf der in den Einstellungen ausgewählten Version. Für Cross-Version-Kompatibilität läuft die Arbeitsumgebung in einem isolierten Prozess mit dem Casilda-Widget. Casilda ist ein Compositor-Server auf Basis von Wayland und wlroots, der Fenster aus anderen Prozessen in GTK4-Anwendungen einbettet.
Casilda erstellt virtuelle Eingabegeräte: Ereignisse von GtkEventController werden an diese weitergeleitet. Das virtuelle Ausgabegerät passt sich der Größe des Host-Widgets an. Der Vorschauinhalt wird in einen wlroots-Pixelpuffer gerendert und als cairo.Surface für das Zeichnen in GTK geladen.
- Wichtige Merkmale des Datenmodells:
- Import/Export mehrerer Oberflächen gleichzeitig
- Volle Unterstützung für GtkBuilder-Objekte, Eigenschaften, Signale
- Undo/Redo mit Befehlshistorienkomprimierung
- Erzeugung aus GIR und in GObject-Klassen
Tools und Workflow
Cambalache vereinfacht den Workflow: visuelle Bearbeitung von CSS-Styles, GResources und benutzerdefinierten Vorlagen. Unterstützung für deklarative UI mit Blueprint. Keine Bindung an GtkBuilder – das Datenmodell ist eigenständig und stimmt mit der GObject-Introspektion überein.
Für erfahrene Entwickler: Casilda löst Einbettungsprobleme und vermeidet Toolkit-Versionkonflikte. Das Wayland-Protokoll gewährleistet Isolation, wlroots übernimmt das Rendering. Die Vorschau funktioniert stabil auch bei komplexen Layouts.
Installation: flatpak install cambalache. Beim Start ein Projekt mit GTK-Versionauswahl erstellen; das Modell wird automatisch aus GIR erzeugt.
Wichtige Punkte
- Cambalache 1.0 ist die erste stabile Version mit voller GTK-3/4-Unterstützung und mehreren UIs pro Projekt.
- Casilda ermöglicht Vorschau über Wayland/wlroots ohne Abhängigkeiten vom Host.
- Hilfsprogramme cambalache-db und db-codegen automatisieren Modell- und Codeerzeugung.
- LGPLv2.1-Lizenz, Flatpak für einfache Installation.
- Fokus auf Datenmodell: MVC ohne Builder-Abhängigkeiten.
— Editorial Team
Noch keine Kommentare.