22 марта 2026, 10:10
Вышел публичный инициатива 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.

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

15 минут назад
Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL
Разработчик из Amazon Сальваторе Дипьетро обнаружил регрессию при тестировании СУБД PostgreSQL и компонентов готовившегося к релизу ядра Linux 7.0. Выпуск новой версии ядра Linux, которая будет исполь

1 час назад
Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны
В НАСА сообщили, что экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны. В настоящий момент корабль находится приблизительно в 141 тыс. км от Луны

1 час назад
Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16
В начале апреля 2026 года разработчик проекта Nitrux Ури Эррера объявил о выпуске и общедоступности сборки Netrunner 26 (кодовое название Twilight), спустя более года после выхода Netrunner 25. Инициа

2 часа назад
Версия библиотеки meshoptimizer 1.1
2 апреля 2026 года разработчик Arseny Kapoulkine (zeux) представил обновление открытой библиотеки meshoptimizer 1.1. Исходный исходник проекта написан на C++ и JavaScript и опубликован на GitHub под л

8 часов назад
Claude Code нашел 23-летний дефект в Linux
Николас Карлини, исследователь из Anthropic, рассказал на конференции [un]prompted 2026, что с помощью Claude Code обнаружил несколько удаленно эксплуатируемых уязвимостей в ядре Linux. Одна из них —