LINUX.ORG.RU

Что читать про Wayland?

 , , , ,


0

2

Буду писать helloworld для вяленого. Думаю, что это будет простая панелька на GTK3. Писать буду на Си, а если не выйдет, то на плюсах, хотя хотелось бы старой доброй джавки.
Вопрос: а что читать? Какие есть доки вообще? Нужны простые вещи типа получения списка окон и управления окнами (изменить фокус, свернуть, развернуть и т.д.).

★★★★★

Ответ на: комментарий от trex6

Спасибо, почитаю на досуге. А то тут вяленый ещё и собираться не хочет.

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

В любом случае мне нужно как-то получать список окошек и управлять ими.

Добро пожаловать в реальный мир, Нео! Облом тебе а не «список окошек». И писать свой собственный вялендокомпозитор. Потому как нет в вяленде такой фичи как NETWM. И вообще, там даже окон как таковых нет.

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

Ах, список окошек..
У меня кстати тоже ведь такая проблема есть.

Допустим одна копия gtk2-приложения запущена.
Юзер жмакает второй запуск, теперь:
как получить доступ к окну первой копии?

«Атомы» работают только в пределах одного приложения.
В винде я юзаю «FindWindow», по заголовку окна получаю дескриптор экземпляра и посылаю ему событие.

А в линуксе я пока просто считаю строки в вызове:

ps -few | grep pandora.rb | grep -v grep

Как получить доступ к окну приложения, или вызвать заданное событие в приложении?
Ах да, решение должно работать на всех линуксах.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 4)
Ответ на: комментарий от Novator

Если инстансы твоей программы работают локально - через сокеты. Если удаленно - говорят, есть такая штука как расширение XTest например, или XTrap

no-dashi ★★★★★
()
Ответ на: комментарий от Novator

Как получить доступ к окну приложения, или вызвать заданное событие в приложении?

Для этого придумали DBus. Если в GTK, то там есть GtkApplication (умеет находить свои экземпляры везде из коробки).

monk ★★★★★
()
Ответ на: комментарий от no-dashi

локально - через сокеты

Т.е. это нужно unix-сокет поднимать, чтобы приложение обнаруживать, и слать туда сигнал? Хм, ладно, покопаю, спасибо.

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

GtkApplication

Похоже он есть только в Gtk3, облом.
По кр. мере ф-я «gtk_application_get_window_by_id()» написано «Since 3.6».

Для этого придумали DBus.

А вот это любопытно, тоже посмотрю. Пасиб за наводку.

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

Почитал про DBus - вкусная штука,
но требует отдельной библиотеки из репозитория.

Поэтому склонился в пользу UNIXSocket,
т.к. библиотека 'socket' в комплекте ruby.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.