Вышел публичный инициатива 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.

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

Агенту поручили починить программа, а он изменил собственную схема

1 час назад

Агенту поручили починить программа, а он изменил собственную схема

Исследователи Irregular поручили кодинг-агенту на базе Qwen3.5-27B задачу по исправлению приложения, которое неправильно обрабатывало запросы. Агент нашёл обучающие примеры и инструменты для fine-tuni

Claude Code сам делит инициатива между AI-агентами

1 час назад

Claude Code сам делит инициатива между AI-агентами

Anthropic целиком переделала Projects в Claude Code. Теперь это не папка с чатами, а единый центр управления разработкой. Описываем какую-нибудь большую и грандиозную цель. В частности, хотим ускорить

GPT-6 Astra помогла прочести зашифрованную Enigma немецкую радиограмму 1941 года — над ней бились 21 год

2 часа назад

GPT-6 Astra помогла прочести зашифрованную Enigma немецкую радиограмму 1941 года — над ней бились 21 год

Сотрудник Bloomberg Картер Леффен с помощью GPT-6 Astra расшифровал немецкую военную радиограмму MVUEH от 10 июля 1941 года. Сообщение состояло всего из 82 зашифрованных символов и находилось в коллек

5 часов назад

GPT-5.5 отключат 14 октября

OpenAI объявила о выводе GPT-5.5 из ChatGPT, ChatGPT Work и Codex. Модель перестанет быть доступна 14 октября 2026 года — это касается всех тарифов, в том числе потребительские планы, Business, Enterp

Игра «Миссия Луна»: построить лунную базу и решить, что создавать, когда всё идёт не по плану

8 часов назад

Игра «Миссия Луна»: построить лунную базу и решить, что создавать, когда всё идёт не по плану

В России начали разрабатывать компьютерную игру о жизни на Луне. «Миссия Луна» — многопользовательская кооперативная игра, где экипаж строит и обслуживает постоянную лунную колонию. Анонсируют проект