Специалист портировал графическую библиотеку GTK+ 1.3 на современные версии Windows.

Старый набор графических библиотек GTK+ 1.3, которому больше 25 лет, неожиданно получил вторую жизнь в современных версиях Windows. Разработчик опубликовал рабочий перенос системы на платформу Win32 с использованием компилятора Microsoft Visual C++ 2022 и системы сборки CMake, показав, что классический интерфейсный код на языке С всё ещё может быть быстрым и практичным.
Проект под названием Gtk1-Win32 представляет собой полностью собираемую версию GTK+ 1.3, адаптированную для актуальных выпусков Windows, включая Windows 11. Автор подчёркивает, что это не просто эксперимент ради ностальгии, а демонстрация того, как старые подходы к разработке интерфейсов иногда оказываются заметно эффективнее современных тяжеловесных решений.
В описании говорится, что ранняя архитектура GTK работала без таблиц стилей и сложных графических сцен. Оформление и размещение элементов рассчитываются напрямую кодом на языке С, без разбора стилей во время работы. Виджеты не имитируются, а формируются на основе базовых примитивов графической подсистемы. Используется родной слой Win32, поэтому элементы интерфейса взаимодействуют с системой напрямую, без промежуточных прослоек.
По результатам тестов, обычное окно приложения занимает около 1,7 МБ оперативной памяти, загрузка процессора в режиме простоя равна 0%, а запуск происходит практически мгновенно. Для каждого элемента интерфейса создаётся отдельный дескриптор окна Win32, как это делалось в классических настольных программах.
Сборка выполняется через CMake в среде Visual Studio 2022. В составе идут необходимые библиотеки, включая glib, iconv и графические модули GDK. Автор отмечает, что примеры программ из оригинального набора успешно запускаются. При этом поддержка Юникода ограничена, так как используется устаревшая текстовая модель GTK 1.x. Во время компиляции возникает много предупреждений из-за различий между старым стандартом С и современными требованиями компилятора.
Проект распространяется по лицензии LGPL версии 2.0, как и исходный код GTK 1.3. Разработчик называет работу напоминанием о том, что экономичность программ остаётся важным качеством, а разрастание требований к ресурсам не является неизбежным.