LINUX.ORG.RU

Я заинтересовался разработкой приложений на Wayland

Wayland - это протокол композитора. Тебе нужен графический тулкит. Например Qt. Он спрячет от тебя все вяленные кишки.

ox55ff ★★★★ ()

разработкой
на русском

anonymous ()

Нет и не будет. Учи нормальный язык.

slovazap ★★★★★ ()

Перевод документации зачастую будет протухший. Легче выучить язык оригинала.

commagray ★★★★★ ()
Ответ на: комментарий от ox55ff

Прикол как раз в том,что мне нужны именно кишки композитора. Пытался разобратся в Weston, но он запутан ровно настолько, чтобы мне было сложно в нем разобраться. Есть ли проекты, которые реализуют простой рабочий композитор? То что я нашел либо не работает, либо работает неправильно.

twaik ()
Ответ на: комментарий от twaik

я бы мог ответить на конкретные вопросы о протоколе wayland чтобы ты разобрался, но какой смысл помогать в таких вещях человеку который даже школьный английский неосилил

anonymous ()

тут есть один любитель великого и могучего, который обучать хотел линуксу без знания английского.

torvn77, твой пациент.

chenbr0 ()
Ответ на: комментарий от twaik

Есть ли проекты, которые реализуют простой рабочий композитор?

есть, у старины Дрю естественно https://github.com/swaywm/wlroots/tree/master/tinywl - минимальный композитор на вяленом с подробными комментариями на английском. Серия статей от него же: https://github.com/ddevault/mcwayface

anonymous ()
Ответ на: комментарий от anonymous

Школьный язык то я осилил, просто такой обьем информации на английском изучать довольно трудно. Можешь обьяснить базу? Грубо говоря, основы протокола, как создается окно и некоторое прочее, типа как создаются колбеки.

twaik ()

Я заинтересовался разработкой приложений на Wayland

Мне вот интересно, зачем вообще приложения приколачивать к Wayland? То есть даже не к ОС (что уже спорно), а к одному из оконных протоколов, который то ли станет стандартом, то ли нет.

Есть Qt. Есть GTK. Есть wxWidgets, наконец. Есть куча способов писать программы, которые будут портироваться на кучу систем, начиная от линукса и заканчивая гайкой (не говоря про всякие там винды и макоси).

Зачем прибивать гениталии к брусчатке?

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Да прикол в другом. Думал по документации, которой смогу понять воспроизвести композитор под Android, чтобы можно было Wayland-приложения + XWayland запускать. Wlroots похоже под мои требования подходит.

Всем спасибо за сотрудничество.

twaik ()
Ответ на: комментарий от twaik

Появился вопрос по Wayland, не связанный с композиторами. Я пытаюсь использовать его как IPC в своем небольшом проекте. Проект пока не связан с графикой и ее выводом на экран пока никак не связан, поддержка Wayland-клиентов кроме самописного не предвитится. В чем суть: Есть самописный протокол. В нем котором есть ряд requests, которые отправляются на сервер. С этим проблем нет, сервер их успешно принимает и обрабатывает. Также в нем есть events, которые мой клиент должен получать. Здесь возникла проблема. Как бы я не извращался клиент не хочет принимать эти events ни под каким предлогом. В режиме Debug Wayland пишет, что событие отправлено, но при этом клиент ничего не получает. В момент вызова на стороне сервера protocol_send_custom_event(wl_resource) в клиенте вызов protocol_add_listener уже прошел. Когда сервер рассылает events клиент еще пашет. Проверял в том числе с sleep() через разные промежутки времени. На сервере wl_resource через который шлется event тоже проинициализирован во время вызова wl_global_create. Может я забыл чего?

struct wl_registry *registry = wl_display_get_registry(display);
	wl_registry_add_listener(registry, &registry_listener, protocol_client);
	wl_display_dispatch(display);
	
	protocol_add_listener(protocol_client->output, &protocol_listener, protocol_client);
	//wl_display_dispatch(display);
	wl_display_flush(display);

twaik ()
Ответ на: комментарий от anonymous

Прямо сейчас мне не нужны окна и графика вовсе. Пока что меня интересует только передача сообщений клиенту.

twaik ()
Ответ на: комментарий от twaik

Уже нашел. Requests передаются сами, без wl_display_dispatch(), в то время как для того, чтобы получить все текущие events нужно вызвать wl_display_dispatch() или wl_display_roundtrip(). Если же нужно, чтобы вызов этих двух функций не блокировал программу необходимо на стороне сервера генерировать event'ы. Тогда можно не бояться блокировки клиента.

twaik ()

Есть кто-либо кто может разобраться в коде композитора, указать мне на ошибки и помочь решить пару проблем? Я адаптировал вот эту хрень под себя, но она работает немного не так как надо. Сможет ли кто-либо здесь с этим помочь?

twaik ()
Ответ на: комментарий от twaik

Похоже что я и здесь уже разобрался. Спасибо всем учавствовавшим :) .

twaik ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.