The OpenNET Project / Index page

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

Библиотека построения графических интерфейсов Cosmoe, использующая Wayland и API в стиле BeOS

27.06.2025 12:56

Представлена GUI-библиотека Cosmoe, поддерживающая работу в Linux в окружениях на базе Wayland. Cosmoe позволяет создавать программы с графическим интерфейсом на языке C++, применяя для формирования интерфейса API в стиле библиотеки классов операционной системы BeOS. Библиотека даёт возможность напрямую запускать в Linux программы, использующие API BeOS. Код проекта распространяется под лицензией MIT.

Cosmoe предлагает набор классов C++, позволяющих быстро и просто создавать интерфейсы пользователя. С одной стороны, Cosmoe существенно проще и компактнее таких тулкитов, как GTK и Qt, но, с другой стороны, позволяет создавать интерфейсы, более современно выглядящие, чем при использовании легковесных FLTK и Xforms. На устаревших системах Cosmoe даёт возможность добиться очень низкого потребления ресурсов, а на современных позволяет выжать из оборудования максимальную производительность, благодаря активному использованию многопоточности. Предоставляется коллекция примеров приложений, использующих Cosmoe для создания интерфейса, среди которых эмулятор терминала, редактор стилей и простые игры.

Библиотека основана как легковесное и не требующее серверных компонентов (app_server, registrar) ответвление от кодовой базы проекта Cosmoe Classic, переведённой на работу поверх композитных серверов, использующих протокол Wayland. Проект Cosmoe Classic занимался портированием окружения Haiku OS для работы поверх ядра Linux и использовал отрисовку интерфейса в окне, созданном при помощи библиотеки SDL. Разработка Cosmoe Classic была возрождена в прошлом году после семнадцатилетнего перерыва.

В настоящее время проект переориентирован с разработки форка ОС Haiku на создание обособленной библиотеки для создания графических приложений для Linux. На текущем этапе разработка находится на альфа-стадии, при этом библиотека уже поддерживает около 95% от всех возможностей API BeOS. Из наиболее важных ограничений отмечается отсутствие поддержки не привязанных к экрану экземпляров типа BBitmap, необходимых для аппаратного ускорения отрисовки, и неготовность API BFilePanel, формирующего диалоги для открытия и сохранения файлов.



  1. Главная ссылка к новости (https://discuss.haiku-os.org/t...)
  2. OpenNews: Выпуск графического тулкита FLTK 1.4.0 с поддержкой Wayland
  3. OpenNews: Опубликована графическая библиотека IGL 1.1
  4. OpenNews: Релиз фреймворка Qt 6.9
  5. OpenNews: Доступен графический тулкит GTK 4.18
  6. OpenNews: Выпуск графического тулкита wxWidgets 3.3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63483-cosmoe
Ключевые слова: cosmoe, gui, wayland
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:16, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    оно опять воскресло, не прошло и 15 лет.
     
     
  • 2.47, Анонимас (?), 18:26, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Учитывая то, что Cosmoe назывался проект BeOS-подобной оси на основе AtheOS, прошли все 20.
     
     
  • 3.54, Аноним (54), 19:12, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    30
     

  • 1.2, Fracta1L (ok), 13:34, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Блин, приятно выглядит. Интересно, можно ли как-нибудь с Qt и GTK подружить.
     
     
  • 2.65, Аноним (65), 20:27, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как gtk2 оно выглядит.
     
     
  • 3.81, anonblmus (?), 22:27, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто что-то плохое.
    Во времена GTK2 самый расцвет темоклепательства был.
    А пропихнули GTK3 - здравствуй, 100500 одинаковых клонов ведроида, макоси и венды. Венды, Карл!
     

  • 1.4, Аноним (4), 13:38, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > с другой стороны, позволяет создавать интерфейсы, более современно выглядящие, чем при использовании легковесных

    Сейчас бы в эпоху примитивных "детсадовских" интерфейсов с упором на плоскоту называть современным объемный интерфейс с градиентами .

     
     
  • 2.51, Аноним (-), 19:07, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас бы в эпоху примитивных "детсадовских" интерфейсов с упором на плоскоту называть
    > современным объемный интерфейс с градиентами .

    Приходи годиков через 5-10 когда долбаная неюзабельная плоскота с ее отстойным юзабилити и продуктивити всех задолбает - и тогда поймешь почему это был современный, инновационный интерфейс :-).

     
     
  • 3.67, Аноним (65), 20:29, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Куда приходить? В Гугл? В Эпол? В Майкрософт? В чей-то подвал?
     

  • 1.5, Аноним (5), 13:47, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +20 +/
    Выглядит великолепно. Уже тошнит от плоской параши, которую пихают со всех щелей.
     
     
  • 2.33, Аноним (33), 15:54, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    плюсую )
     
  • 2.45, Аноним (45), 18:12, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Хороший баланс был в windows 7
     
     
  • 3.64, Аноним (64), 20:08, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Виста еще хороша была визуально - а все потому что frutiger aero. Хотя мне всегда намного больше нравилась маковская aqua.
     
  • 3.68, Аноним (65), 20:32, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Новогодняя ёлка. Но этот gtk2 rebirth тоже тошнотный.
     
  • 2.77, Аноним (77), 21:22, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Минусую любителя всё поменять потому что "уже не модно" / "мне надоело"

    Лучше плоскоты ничего не придумали, UX на плоскости самый топ. Можно много инфы напихать на один экран, и не выглядит при этом убого. Но уметь надо, как и во всем.

    Вот недавний обнаруженный мной пример годноты плоскоты https://www.dotabuff.com/heroes/death-prophet

    У выпуклышей плохо такое получается. Они не уважают инфу на экране.

     

  • 1.6, pic (??), 13:52, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Современный дизайн называют Material, хотя в реальном мире градиент всегда присутствует, как и тени. Так что же такое Material Design на самом деле?
     
     
  • 2.7, Fracta1L (ok), 13:59, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Так что же такое Material Design на самом деле?

    Симулякр)

     
  • 2.74, Аноним (74), 21:00, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так он и был по сути пиидуман в Be inc. кстати... вообще то у рих не мало концептов было, и в том числе и BaIA он самый
     

  • 1.16, Аноним (16), 14:38, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Представлена GUI-библиотека Cosmoe, поддерживающая работу в Linux в окружениях на базе Wayland.
    > В настоящее время проект переориентирован с разработки форка ОС Haiku на создание обособленной библиотеки для создания графических приложений для Linux.
    > The newest iteration of Cosmoe is a C++ UI library for creating rich, easy-to-code graphical apps for Wayland. It brings the benefits of the BeOS class library onto a modern kernel and display engine.

    https://cosmoe.org/assets/img/cosmoe1.png
    > exif:UserComment="Screenshot
    > xmp:CreateDate="2025-05-20T22:28:32-04:00"
    > Adobe Photoshop CC 2018 (Windows)

    Кхе.

     
     
  • 2.20, Аноним (-), 14:54, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так?
    Ну не в ГИМПе же рисовать!

    Если даже на ГНУтом сайте копилефт-стикеры и обои делают в фотошопе, то тут вообще претензий не может быть.

    https://www.gnu.org/graphics/copyleft-sticker.jpg
    exif:Software: Adobe Photoshop CS6 (Macintosh)

    https://www.gnu.org/graphics/free-your-soul-wallpaper.jpg
    xmp:CreatorTool="Adobe Photoshop CS6 (Windows)

     
     
  • 3.32, Аноним (16), 15:38, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что не так?
    > Ну не в ГИМПе же рисовать!

    Э-э, что именно и зачем там нужно рисовать в единственном _СКРИНШОТЕ_ (том самом, который есть и в новости)?
    Только не надо опять начинать переводить стрелки на "злобных дезигнеров-оутсорсников" - там простенькая страничка, с тем самым единственным скриншотом, небольшим FAQ и ссылкой на репу.

     
  • 3.46, Аноним (46), 18:12, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем скриншоты рисовать? Их снимают.
     

  • 1.21, Аноним (21), 14:57, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > на современных позволяет выжать из оборудования максимальную производительность, благодаря активному использованию многопоточности

    Да вы шутите. Не надо нам GUI для отрисовки которого не хватает 1% современного ядра, и тем более не надо такого который своей неэффективностью нагружает все ядра.

     
  • 1.26, paulus (ok), 15:21, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гибрид беоса на ядре линукса, а почему бы и нет :) Беос был крут...
     
  • 1.27, Аноним (27), 15:27, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Там есть более интересный вариант Cosmoe Classic который рисует через app_server (типа иксов, тоже умеет в настоящею сетевую прозрачность), пока он через sdl рисует, но ничто не вешает туда впихнуть какой-нибудь drm-бекенд и тогда в линуксах можно полноценно выкинуть как и Xorg, так и Wayland.
     
     
  • 2.69, Аноним (65), 20:38, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Здравая идея. Всё равно те оба по современным меркам не готовы для десктопа.
     

  • 1.30, 12yoexpert (ok), 15:34, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    многопоточность это последняя вещь, которую хочется видеть в gui
    судя по скринам, там банальные лейауты не осилили
     
     
  • 2.35, Аноним (35), 16:15, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > многопоточность это последняя вещь, которую хочется видеть в gui

    Т.е. пока рисуется прогресбар, никуда больше нажать нельзя ? Вы в своем уме ?

     
     
  • 3.37, 12yoexpert (ok), 16:25, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://en.wikipedia.org/wiki/Event_loop

    https://doc.qt.io/qt-6/qeventloop.html#exec

     
     
  • 4.42, Аноним (35), 17:54, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е. тормозящий интерфейс пока выполняется тяжолая задача ?
     
     
  • 5.55, Аноним (-), 19:12, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. тормозящий интерфейс пока выполняется тяжолая задача ?

    Тяжелым задачам нормальные люди приоритет ставят - ниже чем гую. Т.е. какой-нибудь фоновый совсем. И IO оной - тоже. Дабы юзеря не якорить :)

     
     
  • 6.80, tty2 (?), 22:26, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кооперативная многозадачность? Вы с дуба рухнули с непонятно как работающими программами...
     
  • 5.58, 12yoexpert (ok), 19:38, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    какое отношение тяжёлая задача имеет к либе из новости и к gui в целом? перечитай изначальный комментарий и не неси чушь
     
     
  • 6.60, Аноним (35), 19:49, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При чем тут либа из новости, если речь про "однопоточный gui" (потому что многопоточность это последнее что там нужно по вашим словам) ?

    Кто будет вызывать processEvents если у нас один поток ?
    Вы вообще гуи приложения писали ?

     
  • 6.61, 12yoexpert (ok), 19:53, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто будет вызывать processEvents если у нас один поток ?

    ещё раз: почитай, как работает event loop, ты несёшь бред

     
     
  • 7.70, Аноним (65), 20:41, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Напомни, пожалуйста, с какой "машины" ты всё это вещаешь?
     
  • 2.43, Аноним (43), 17:54, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С чего бы? В том же Qt приходится костылить с QThread чтобы поток отрисовки оставался отзывчивым, а в сабже эту проблему красиво решили на архитектурном уровне.
     
     
  • 3.59, 12yoexpert (ok), 19:41, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    способ запуска потоков вообще никак не связан с отзывчивостью интерфейса
     
     
  • 4.62, Аноним (35), 19:54, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так по вашим словам потоки вообще там не нужны же
     
     
  • 5.66, 12yoexpert (ok), 20:29, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в gui - да, не нужны, что непонятного?
    если ты хочешь менять progress bar-ы напрямую из другого потока, то тебе лучше сменить профессию
     
     
  • 6.71, Аноним (65), 20:49, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, ладно. А вдруг он на 4-ом Пентиуме? А если на 14-ом?
     

  • 1.31, Аноним (27), 15:36, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вообще раз речь пошла о cosmoe есть ещё один очень похожий проект - https://github.com/VitruvianOS/Vitruvian но раз про него никто нигде не вспомнил решил хотя-бы здесь в комментариях его отметить.
     
     
  • 2.34, Аноним (34), 16:07, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде бы и не похожий. Vitruvian - операционная система на основе Haiku
     
     
  • 3.36, Аноним (27), 16:25, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На ядре линукс
     

  • 1.38, kknight (ok), 16:44, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Какой же это кайф видеть человеческий GUI, где элементы имеют нормальный размер, нормальный контраст и не пытаются занять всё пространство экрана! Просто бальзам для глаз!
     
     
  • 2.50, Аноним (50), 18:59, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    С Windows 3.11 слизали. Забавно как на ресурсе, посвященном опенсорсу обожают проприетарные системы и всячески на них равняются.
     
     
  • 3.53, Аноним (-), 19:11, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > С Windows 3.11 слизали. Забавно как на ресурсе, посвященном опенсорсу обожают
    > проприетарные системы и всячески на них равняются.

    Ты явно не видел Windows 3.11 - ибо он выглядел вообще совсем не так.

     

  • 1.44, user90 (?), 17:58, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А пользовательские темы у этой хуерги есть?
     
     
  • 2.63, Аноним (64), 20:04, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем? Пользовательские темы это дурной тон. Нельзя позволять людям копаться в настройках интерфейса, максимум это кнопка между выбором темной/светлой темы.
    Должен быть единый язык дизайна для всех приложений. А пользователи, дай им возможность - обчзательно испортят внешний вид системы.
     
     
  • 3.72, user90 (?), 20:49, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пользовательские темы это дурной тон.

    Отсутствие юзерского ТЕКСТОВОГО конфигурационного файла — вот ЭТО дурной тон.

     
  • 3.73, Аноним (65), 20:55, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Главное, что они потом будут ронять техподдержку. Можно продавать молотки с ручками в 17-и цветах, но лучше не создавать ручки-трансформеры, иначе потом исков по отбитым пальцам не оберёшься. Ну, это всё про проприетарщину, канешь. В гню можно творить всё что душе угодно. Поотбитые-порубленные конечности - дело исключительно их владельцев.
     

  • 1.49, Аноним (49), 18:55, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Смотришь на такие скриншоты и материальный дизайн начинает нравится. Куча лишних чёрточек, полосочек, границ. Вот зачем меню окна контраст, который его дополинительно от заголовка окна и границ окна отделяет? Зачем во вкладках такой акцент?
     
     
  • 2.52, Аноним (-), 19:10, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Смотришь на такие скриншоты и материальный дизайн начинает нравится. Куча лишних чёрточек,
    > полосочек, границ.

    Да вообще кошмар! Есть за что глазу зацепиться, можно быстро нужное найти. То ли дело монотонная плоскота в полэкрана - и попробуй там найти вообще нуженую кнопку или значок! Саботажники одобряют - в случае претензий к производительности труда можно удачно отмазаться.

     
     
  • 3.75, Аноним (65), 21:04, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    О производительности какого труда идёт речь?
     
     
  • 4.79, Аноним (79), 22:16, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Гуртовщиков мыши же!
     

  • 1.56, Аноним (64), 19:18, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всегда очень нравилось как выглядит Хайку(BeOS), а тут ребята выпустили целую библиотеку для гуя в таком стиле. Наконец-то появилась реальная альтернатива кутям, которые фактически монополисты в нише рисовальщиков интерфейсов.
     
     
  • 2.76, Аноним (65), 21:06, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, просто абсолютные монополисты. Я, когда к вам прилетаю через червоточину, всегда удивляюсь - как вам удалось создать такой мир?
     

  • 1.78, Аноним (78), 21:33, 27/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >На устаревших системах Cosmoe даёт возможность добиться очень низкого потребления ресурсов

    Переведя на человеческий, на ПК с Ryzen 5 7500f обещает не выжирать все 16 гигабайт оперативки и оставить поток.

     
     
  • 2.82, Аноним (65), 22:28, 27/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проц - норм, но вот памяти хорошо бы сегодня в пару раз побольше. Это как минимум.
     

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



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

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