Вышел публичный инициатива Cambalache 1.0 — средство для разработки GTK-интерфейсов

2 мин
Вышел публичный инициатива Cambalache 1.0 — средство для разработки GTK-интерфейсов

20 марта 2026 года состоялся выпуск открытого проекта Cambalache 1.0. Это средство для быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий визуальное проектирование (WYSIWYG), парадигму MVC и философию первостепенного значения модели данных. Исходный исходник решения написан на Python и опубликован под лицензией LGPLv2.1. Для установки доступен пакет в формате flatpak.

В отличие от проекта Glade в Cambalache предоставляется сопровождение ведения нескольких интерфейсов пользователя в одном проекте.

Решение Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Проект поддерживается редактирование, визуализация и создание GTK‑стилей в формате CSS, редактирование XML‑файлов с ресурсами GResources, разработка шаблонов и виджетов, использование XML‑файлов GtkBuilder и разметки Blueprint.

Модель данных в Cambalache может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и функция сжатия истории команд. Для генерации модели данных из gir‑файлов предоставляется утилита cambalache‑db, а для генерации классов GObject из таблиц модели данных — утилита db‑codegen.

Интерфейс в Cambalache может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется в отдельном процессе с привлечением виджета Casilda, позволяющего встраивать в GTK4-приложения окна других процессов и реализованного в форме специализированного композитного сервера, использующего протокол Wayland и библиотеку wlroots. Casilda создаёт виртуальные устройства ввода, события в которые транслируются из GtkEventController, а также виртуальное девайс вывода, имеющее размер как у встроенного в приложение виджета. При помощи wlroots содержимое для предпросмотра отрисовывается в пиксельный буфер и загружается как поверхность Cairo (cairo.Surface) для отрисовки в GTK.

Читают сейчас

5 часов назад

MiniMax открыла веса видеомодели H3 — одной из самых сильных open-weight систем для генерации видео со звуком

Китайская компания MiniMax опубликовала веса своей видеомодели H3, выполнив обещание, данное во время релиза несколькими днями ранее. Теперь авторы могут скачать локальную версию модели, которая генер

Выпуск консольного файлового менеджера Midnight Commander 6.0 (mc6)

5 часов назад

Выпуск консольного файлового менеджера Midnight Commander 6.0 (mc6)

Состоялся выпуск консольного файлового менеджера Midnight Commander 6.0 (mc6). Проект представляет собой форк инструмента GNU Midnight Commander 4.8.33. В новом решении расширена сопровождение панельн

Закон «О цифровых валютах» подписан: что изменится в России с 1 сентября 2026 года

5 часов назад

Закон «О цифровых валютах» подписан: что изменится в России с 1 сентября 2026 года

Сегодня 4 августа 2026 года президент подписал Федеральный закон № 282-ФЗ «О цифровых валютах и цифровых правах». Основные положения вступают в силу 1 сентября 2026 года. Для действующих участников ры

6 часов назад

Как Яндекс Браузер проверяет национальные сертификаты на сайтах банков

Сегодня сайты нескольких российских банков перестали открываться в ряде браузеров после перехода на сертификаты Национального удостоверяющего центра. В Яндекс Браузере эти сайты продолжают функциониро

7 часов назад

Президент подписал закон о легализации криптовалюты в России

Президент России подписал закон о первом в стране комплексном регулировании цифровых валют и цифровых прав. Документ обнародован на портале правовых актов. Закон определяет контуры регулирования крипт