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.

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

30 минут назад
У чат-бота Grok в X украли $175 тыс. с помощью азбуки Морзе
4 мая атакующий через адрес ilhamrafli.base.eth вывел из ИИ-кошелька, привязанного к аккаунту Grok в X, приблизительно $175 тысяч в токенах DRB на сети Base. Ни одной строчки эксплойт-кода не понадоби

35 минут назад
Только 20% российских компаний имеют фактический план действий на случай аварий в ИТ: исследование Linx Cloud и Global CIO
Облачный провайдер Linx Cloud совместно с сообществом ИТ-лидеров Global CIO провели исследование отказоустойчивости крупного и среднего российского бизнеса. Цель исследования – понять текущую зрелость

45 минут назад
Машинное обучение в реальных условиях: проверьте свои силы на Yandex ML Challenge
21 мая пройдёт Yandex ML Challenge — масштабное соревнование для всех, кто интересуется ML и готов помериться силами в решении разных задач: от работы с LLM до Reinforcement Learning. Участников ждёт

45 минут назад
РБК: некоторое количество топ-чиновников Минцифры могут покинуть ведомство на фоне реорганизации
Заместитель главы Минцифры Сергей Кучушев рассматривает функция ухода из министерства, сейчас чиновник курирует три направления: департамент экономики и финансов, департамент развития IT-отрасли и деп
1 час назад
Минпромторг поддержал введение НДС в 22% на зарубежные интернет-заказы
Минпромторг России поддержал введение с 1 января 2027 года налога на добавленную стоимость (НДС) на иностранные товары, приобретаемые через интернет, в размере 22%, сообщили ТАСС в министерстве. Ознак