The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен порт GTK+ 1.3 для Windows 11

31.01.2026 14:56 (MSK)

Подготовлен порт библиотеки GTK+ 1.3, работающий в Windows 11 и компилируемый с использованием современных инструментов разработки MSVC 2022 и CMake. Все штатные примеры работают (helloworld, testgtk). Результат выглядит аутентично, а потребление ОЗУ при запуске примеров составляется 1.7 МБ. В планах написание для библиотеки отрисовки GDK бэкенда, позволяющего использовать SDL 1.2 и SDL3, что расширит спектр поддерживаемых современных систем.

GTK+ 1.3 выбран для портирования как представитель "золотой эры" разработки пользовательских интерфейсов, обладающий такими достоинствами, как реализация виджетов на основе базовых примитивов GDK; легковесная компоновка элементов интерфейса без лишних накладных расходов на разбор CSS; простая объектная модель GObject; нативный GDK Win32, взаимодействующий с Windows напрямую без излишних прослоек.



  1. Главная ссылка к новости (https://github.com/JordanCpp/G...)
  2. OpenNews: В Debian 14 намерены прекратить поставку GTK2
  3. OpenNews: Опубликована мультимедийная библиотека LDL, оптимизированная для маломощных систем
  4. OpenNews: Доступен графический тулкит GTK 4.20
  5. OpenNews: Ardour прекратил поддержку сборки с GTK2 в пользу форка YTK
  6. OpenNews: Проект SDL3Lite развивает версию библиотеки SDL3 с поддержкой старых систем
Автор новости: JordanCpp
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64714-gtk
Ключевые слова: gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (56) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:38, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Если посмотреть ридми, то там видно, что ридми (и скорее всего код) портировался нейронкой. Но, конечно же, люди тут будут доказывать, что нейросети бесполезны.
     
     
  • 2.3, Аноним (1), 17:40, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там похоже даже комментарии на русском, и не в UTF-8, лол
     
  • 2.4, Аноним (4), 17:41, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Портировать и запустить не проблема. Проблема потом всё это поддерживать, выгребая тонны багов и прочее. А так запустили, потыкали и забыли. Никто не будет в здравом уме завязываться на библиотеку, про которую через неделю все забудут.
     
     
  • 3.11, Аноним (1), 17:52, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • –11 +/
    Codex с GPT 5.2 напишет код с меньшим кол-вом багов чем 90% посетителей этого сайта. И искать он их отлично тоже умеет.
     
     
  • 4.16, Re4son (ok), 18:22, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    полностью согласен, учитывая что подавляющее большинство посетителей этого сайта вряд ли являются разработчиками, а просто следят за новостями

    но в плюс нейронке я бы это не спешил записывать

     
     
  • 5.20, Аноним (20), 18:43, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вот интересно, прикидывать сколько процентов опеннетских кодеров уделает нейронка, и не упоминуть себя - это такой способ самоутверждения? А то мама обижает и ограничивает время, проводимое за компьютнром?
     
     
  • 6.21, Re4son (ok), 18:45, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот интересно, прикидывать сколько процентов опеннетских кодеров уделает нейронка, и не
    > упоминуть себя - это такой способ самоутверждения? А то мама обижает
    > и ограничивает время, проводимое за компьютнром?

    скорейшего выздоровления, по крайней мере если Вы адресатом не ошиблись

     
     
  • 7.53, Аноним (53), 21:05, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.6, Аноним (6), 17:45, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 3.41, Аноним (41), 20:05, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.55, Аноним (55), 21:09, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.8, анонимус (??), 17:46, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    нейросети (перцептроны) это узкоспециализированный инструмент распознавания шаблонов родом из 1957-го года основанный на концепциях поведеченской психологии 1940-х (раньше так мозг представляли, ныне упрощенное представление реального устройства)
     
  • 2.18, нинаном (?), 18:35, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А какова полезность этой жизы? Для кого это?
     
  • 2.32, JordanCpp (ok), 19:28, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При помощи нейронки. Так как собрать gtk, вообще не очевидно. Очень много завязок на исторические приколюхи unix. Когда я тупил, ИИ не тупил. Когда ИИ тупил, я не тупил:)
     
     
  • 3.37, Аноним (37), 19:50, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Аналогично. Я так переписывал свой рендеринг карт DayZ с C# на C++ + UE5
     
  • 2.34, Аноним (34), 19:39, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Но, конечно же, люди тут будут доказывать, что нейросети бесполезны.

    Не буду говорить за всех, но лично мне пофиг. Возможно даже не только мне. Можете топить дальше.

     
     
  • 3.45, анондирован (?), 20:11, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так это древняя технология. В следующем году перпептронам (искусственным нейронам) Фрэнка Розенблатта будет 70 лет. К этой идее возвращаются периодически. Последний такой период ИИ истерии был в 1985-м. Мы их изучали в университете в конце 1990-х. Писали тогда на ассемблере лабораторные по теме нейронов и ИИ. Это все искусственный интеллект - шахматы, шашки, игры и прочее - имитация интеллекта.
     
     
  • 4.54, Аноним (53), 21:07, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Дед, выпей лекарство для разжижения кальция в мозгу.
     

  • 1.2, Аноним (2), 17:38, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А это ускорит запуск проводника?
     
     
  • 2.31, JordanCpp (ok), 19:27, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если написать на gtk 1.3 проводник, то да.
     
     
  • 3.44, Аноним (41), 20:11, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    emelFM же был
    https://emelfm.sourceforge.net/
     

  • 1.5, анонимус (??), 17:44, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    нужно было брать LDL :) (JordanCpp/LDL)
     
  • 1.7, Смузихлеб забывший пароль (?), 17:46, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > нативный GDK Win32

    А в чём плюс этого если всё нынче - Win64 ?

     
     
  • 2.15, X512 (?), 18:22, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не бывает никакого Win64. На x86_64 тоже используется Win32. Win32 -- это исторически сложившееся название нового API/ABI впервые представленное в Windows 95. До это было Win16 с сильно отличающимися управлением памяти (сегментная память), многозадачностью (кооперативная многозадачность) и защитой (у Win16 все exe/dll загружались один раз глобально на всю систему и совместно использовались).

    У 64 битных процессоров нет такой радикальной разницы с 32 битными как с 16 битным x86. Так что один и тот же Win32 код собирается под 32 и 64 битные процессоры.

     
     
  • 3.24, Смузихлеб забывший пароль (?), 19:00, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Большая разница, небольшая разница. Неясно, зачем, говоря про современные инструменты разработки и вынь 11, пилить именно под 32 вместо 64
    Хотя, то же яблоко у себя сделало проще - тупо заблокировало в новой версии ОС запуск 32-битных приложений. Даже подобия вайна не помогали в старые игоры поиграццо.
     
     
  • 4.48, Аноним (48), 20:35, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Неясно, зачем, говоря про современные инструменты разработки и вынь 11, пилить именно под 32 вместо 64

    Потому что Win32 не подразумевает 32-бит. Тебе же объяснили уже.

     
  • 3.29, JordanCpp (ok), 19:25, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Код успешно собирается под 64 бит и работает.
     
  • 2.30, JordanCpp (ok), 19:26, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Код собирается под Win64, библиотека и примеры собраны как 64 битные. Они работают, но думаю, что могут вылезти баги.
     

  • 1.9, Аноним (9), 17:47, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    "Золотая эра разработки пользовательских интерфейсов" это мощно, конечно.
     
  • 1.12, cheburnator9000 (ok), 18:13, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >> message(STATUS "Âñå ìîäóëè Gtk1 ñêîíôèãóðèðîâàíû.")

    Ясно понятно.

     
     
  • 2.25, Аноним (-), 19:03, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.28, JordanCpp (ok), 19:24, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Поправил, теперь можно прочитать.
     

  • 1.14, Имя (?), 18:19, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > GTK+ 1.3 выбран для портирования как представитель "золотой эры" разработки пользовательских интерфейсов, обладающий такими достоинствами, как реализация ... нативный GDK Win32, взаимодействующий с Windows напрямую без излишних прослоек
    >
    > В планах написание для библиотеки отрисовки GDK бэкенда, позволяющего использовать SDL 1.2 и SDL3

    Взаимоисключающие параграфы

     
     
  • 2.27, JordanCpp (ok), 19:23, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Gdk слой настолько легкий и прямой, что сравним с тем, что обернуть CreateWindowEx в функцию и взывать, тоже самое, что вызвать саму winapi функцию.
     

  • 1.17, Аноним (17), 18:29, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Результат выглядит аутентично

    Да, по скриншотам заметно.

     
  • 1.19, Аноним (-), 18:39, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > представитель "золотой эры" разработки пользовательских интерфейсов

    ...и как же вырвиглазно он выглядит!

    Все скомкано. Отступы минимальные, как будто это делали для экрана 800х600.. Сглаживания нет. Выравнивание кривое.

     
     
  • 2.23, Аноним (23), 18:46, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > как будто это делали для экрана 800х600

    ну

     
  • 2.38, Аноним (-), 19:51, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.22, Аноним (22), 18:45, 31/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     
  • 1.26, JordanCpp (ok), 19:22, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Комментарии поправил. Теперь они читаемы на гитхабе. Нейронка помогала, иначе просто не разобраться, в чем дело. Ошибок было настолько много, что я не вылазил из гугла. К примеру та же проблема с strings.h, сейчас это string.h но раннее использовалось на ранних unix. И там таких приколов на каждом шагу.
     
     
  • 2.36, Аноним (-), 19:43, 31/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.47, анондирован (?), 20:17, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В Turbo C вообще (были) conio.h:) и другие либы
     

  • 1.33, JordanCpp (ok), 19:30, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    cmake хоть и собирает, но многое сделано через костыли. Буду ещё рефакторить.
     
  • 1.35, Аноним (-), 19:43, 31/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.39, Аноним (39), 19:52, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нормас! Ждём софта на нём )
     
  • 1.40, JordanCpp2 (?), 19:56, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В планах ещё собрать из одной кодобазы и сборку для linux. Сделать нормальный пакет.
     
  • 1.42, Аноним (-), 20:07, 31/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.43, Аноним (41), 20:08, 31/01/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.49, Аноним (49), 20:40, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какие преимущества у Gtk 1 перед Gtk 3, 4 ? Легковесность, скорость работы? Это критично? Кто гарантирует качество сопровождения этого форка Gtk 1 ?
     
     
  • 2.50, JordanCpp2 (?), 20:55, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас я привожу cmake в порядок. Потом добавлю сборку для linux.

    Для релиза ещё требуется не просто создать на гитхабе релиз.

    Но ещё нужно:
    1. Исправить все варнинги.
    2. Добавить сборку под linux
    3. Протестировать и подготовить код для 64 бит.
    4. Восстановить документацию
    5. Тестирование.

    Преимущества в простоте. Преимуществ перед современными библиотеками нет. Но есть желание не только поддерживать, но и развивать.

    Посмотрим, что будет дальше.

     

  • 1.51, Аноним (51), 20:56, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Но какой в этом смысл? Современный софт на этом не собрать. Выглядит страшновато. В Linux будет без поддержки wayland. Легче использовать Qt 5 или 6, в винде собирается при помощи msys2. Да и Qt это не только кросплатформенная графика, но кросплатформенная работа с файлами, сетью и т.д. И между мажорными версия в Qt переезжать проще.
     
     
  • 2.52, Аноним (52), 21:01, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > использовать Qt 5 или 6

    Это же сразу использовать небезопасные плюсы!

     
  • 2.56, JordanCpp2 (?), 21:10, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Смысл в развитии, внешний вид можно изменить. Недостающий функционал dpi и urf8 добавить. И даже ещё уменьшить потребление убрав зависимость от glib. Оставить его как внешнюю библиотеку. Gtk 1 это gui. Сеть и все остальное разработчик может использовать по своему вкусу. Если создать красивый ООП с++ биндинг, обернуть gtk в с++ классы, то будет приятно использовать. Код с89 имеет универсальную портируемость, для добавления поддержки вэйденд или любого другого, что умеет в графику, делается бэкенд на gdk. Лезть именно в gtk не требуется. Конечно много но. Но из qt6 сделать минимальный фреймворк не получится, допилить gtk 1, больше вероятность. Так как не нужно поддерживать дополнительный функционал. Только gui.
     
  • 2.57, JordanCpp2 (?), 21:10, 31/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Смысл в развитии, внешний вид можно изменить. Недостающий функционал dpi и urf8 добавить. И даже ещё уменьшить потребление убрав зависимость от glib. Оставить его как внешнюю библиотеку. Gtk 1 это gui. Сеть и все остальное разработчик может использовать по своему вкусу. Если создать красивый ООП с++ биндинг, обернуть gtk в с++ классы, то будет приятно использовать. Код с89 имеет универсальную портируемость, для добавления поддержки вэйденд или любого другого, что умеет в графику, делается бэкенд на gdk. Лезть именно в gtk не требуется. Конечно много но. Но из qt6 сделать минимальный фреймворк не получится, допилить gtk 1, больше вероятность. Так как не нужно поддерживать дополнительный функционал. Только gui.
     

  • 1.59, Аноним (59), 22:07, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > GTK+ 1.3 выбран для портирования как представитель "золотой эры" разработки пользовательских интерфейсов

    Надо было тогда портировать под какого-нибудь «представителя золотой эры разработки пользовательских интерфейсов», вроде Windows 2000.

     
  • 1.60, Аноним (60), 22:18, 31/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Золотая эра для gtk была gtk 2 и clearlooks. А gtk 1 выглядит ужасно.
    И если такой вид сейчас кого-то устраивает то есть же Tk который поддерживается под все платформы.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру