Cambalache 1.0: Editor visual para interfaces GTK 3 y GTK 4
El 20 de marzo de 2026 se lanzó Cambalache 1.0 —una herramienta de código abierto para diseñar visualmente interfaces GTK 3 y GTK 4. El proyecto utiliza un enfoque WYSIWYG con un modelo MVC centrado en datos. Escrito en Python, con licencia LGPLv2.1, instalable vía Flatpak. A diferencia de Glade, soporta múltiples interfaces en un solo proyecto sin depender de GtkBuilder o GObject, pero completamente compatible con los tipos de GObject.
Cambalache edita estilos GTK CSS, GResources XML, plantillas de widgets, GtkBuilder XML y Blueprint. El modelo de datos importa/exporta múltiples interfaces, gestiona objetos, propiedades y señales. Incluye una pila Undo/Redo con compresión de historial. La utilidad cambalache-db genera el modelo desde archivos GIR, mientras que db-codegen genera clases GObject a partir de las tablas del modelo.
Soporte para GTK 3 y GTK 4 en un entorno unificado
El proyecto genera interfaces para GTK 3 o 4 según la versión seleccionada en la configuración. Para compatibilidad entre versiones, el espacio de trabajo se ejecuta en un proceso aislado mediante el widget Casilda. Casilda es un servidor de composición basado en Wayland y wlroots que incrusta ventanas de otros procesos en aplicaciones GTK4.
Casilda crea dispositivos de entrada virtuales: los eventos de GtkEventController se reenvían a ellos. El dispositivo de salida virtual coincide con el tamaño del widget anfitrión. El contenido de la vista previa se renderiza en un búfer de píxeles wlroots y se carga como una cairo.Surface para dibujar en GTK.
- Características clave del modelo de datos:
- Importación/exportación de múltiples interfaces simultáneamente
- Soporte completo para objetos, propiedades y señales de GtkBuilder
- Undo/Redo con compresión del historial de comandos
- Generación desde GIR y hacia clases GObject
Herramientas y flujo de trabajo
Cambalache simplifica el flujo de trabajo: edición visual de estilos CSS, GResources y plantillas personalizadas. Soporte para UI declarativa Blueprint. Sin ataduras a GtkBuilder —el modelo de datos es autocontenido y se alinea con la introspección de GObject.
Para desarrolladores senior: Casilda resuelve problemas de incrustación, evitando conflictos de versiones del kit de herramientas. El protocolo Wayland asegura el aislamiento, wlroots maneja el renderizado. La vista previa funciona de forma estable incluso con diseños complejos.
Instalación: flatpak install cambalache. Al iniciar, crea un proyecto con selección de versión GTK; el modelo se genera automáticamente desde GIR.
Puntos clave
- Cambalache 1.0 es la primera versión estable con soporte completo para GTK 3/4 y múltiples interfaces por proyecto.
- Casilda habilita la vista previa vía Wayland/wlroots sin dependencias del host.
- Las utilidades cambalache-db y db-codegen automatizan la generación de modelo y código.
- Licencia LGPLv2.1, Flatpak para instalación sencilla.
- Enfoque en el modelo de datos: MVC sin dependencias de builder.
— Editorial Team
Aún no hay comentarios.