The OpenNET Project / Index page

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



"Представлен RubyWM, оконный менеджер, написанный целиком на Ruby"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Представлен RubyWM, оконный менеджер, написанный целиком на ..." +/
Сообщение от n00by (ok), 24-Янв-24, 11:28 
> А вот интерфейс к xcb, тоже моего авторства:
> https://github.com/zhmylove/X11-XCB
> Его Миша держал, автор i3, но там ничего не было и мы
> с ним договорились, что я забираю, чтобы добавить вм-специфичную функциональность

По этому поводу изначально у меня возник вопрос, почему именно XCB, а Xlib. XCB создавали, что бы уйти от блокирующих вызовов. То есть что бы гипотетически возможно было создать некий КА, который бы в цикле отправлял пачкой запросы, а на следующей итерации обрабатывал ответы, если они есть. Но живых вариантов такого я не нашёл. Xlib проще, потому её и используют поныне.

Глянул исходники, например вот это по сути дублирование кода из существующей реализации Xlib:


sub _screens_from_root {
    my $self = shift;
    my $cookie = $self->get_geometry($self->get_root_window());
    my $geom = $self->get_geometry_reply($cookie->{sequence});
    return [ X11::XCB::Screen->new(rect => X11::XCB::Rect->new($geom)) ];
}

т.е. наружу (для клиентов библиотеки) выставлена своеобразная реализация Xlib на Perl.
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Представлен RubyWM, оконный менеджер, написанный целиком на Ruby, opennews, 23-Янв-24, 10:19  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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