вопросы по использованию X11 (в xlib.pdf ответов не нашел)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
amaora
Сообщения: 95
ОС: Slackware
Контактная информация:

вопросы по использованию X11

Сообщение amaora »

1. полноэкранный режим

понял что надо создавать окно в обход WM тоесть с флагом OverrideRedirect, но тогда события от клавиатуры не приходят,
непомогает и XGrabKeyboard()
неясно можно ли и как если можно сменить разрешение без перезагрузки иксов (утилита настроек от nv както это делает)

2. запрет на изменение размеров окна/сворачивания/закрытия

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

.
кто здесь?
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: вопросы по использованию X11

Сообщение Uncle_Theodore »

amaora писал(а):
13.08.2007 06:57
1. полноэкранный режим

понял что надо создавать окно в обход WM тоесть с флагом OverrideRedirect, но тогда события от клавиатуры не приходят,
непомогает и XGrabKeyboard()
неясно можно ли и как если можно сменить разрешение без перезагрузки иксов (утилита настроек от nv както это делает)

Посмотри, как это сделано тут
http://groups.google.com/group/comp.window...73ef31b88abaa05
Спасибо сказали:
Аватара пользователя
amaora
Сообщения: 95
ОС: Slackware
Контактная информация:

Re: вопросы по использованию X11

Сообщение amaora »

это вобщем то не совсем fullscreen, это замена OverrideRedirect флага средствами WM если он это поддерживает, разрешение никуда не меняется.
ну хотябы проблем с вводом нет теперь.

правка: или у меня неправильно работает ..
нашел и по второму пункту правильный путь http://standards.freedesktop.org/wm-spec/wm-spec-1.4.html

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

Код: Выделить всё

    XEvent send_ev = {
        .xclient.type = ClientMessage,
        .xclient.serial = 0,
        .xclient.send_event = true,
        .xclient.window = handle->window,
        .xclient.message_type = XInternAtom( display, "_NET_WM_ALLOWED_ACTIONS", false ),
        .xclient.format = 32,
        .xclient.data.l[0] = XInternAtom( display, "_NET_WM_ACTION_MOVE", false ),
        .xclient.data.l[1] = XInternAtom( display, "_NET_WM_ACTION_CHANGE_DESKTOP", false ),
        .xclient.data.l[2] = 0
    };

    XSendEvent( display, XRootWindow( display, handle->visualinfo->screen ), false,
        SubstructureRedirectMask | SubstructureNotifyMask, &send_ev );


и никакого результата не наблюдается
кто здесь?
Спасибо сказали:
v04bvs
Сообщения: 636
ОС: Debian GNU/Linux

Re: вопросы по использованию X11

Сообщение v04bvs »

но чтото непойму как задается _NET_WM_WINDOW_TYPE или _NET_WM_ALLOWED_ACTIONS

http://tronche.com/gui/x/xlib/ICC/client-t...xtProperty.html
отсюда пляши

примеров нигде нет

примеров есть, но мало. Советую Qt почитать, http://www.google.com/codesearch тоже рулит неимоверно.
Спасибо сказали:
Аватара пользователя
amaora
Сообщения: 95
ОС: Slackware
Контактная информация:

Re: вопросы по использованию X11

Сообщение amaora »

да спасибо, в Qt неожиданно быстро нашел нужный кусок кода, остается сменить разрешение.
кто здесь?
Спасибо сказали:
Ответить