LINUX.ORG.RU

[X11] maximize окно

 


0

1

Пытаюсь изучать X11, документация кажется очень трудной. Хочется на простом примере понять как искать в ней ответы на вопросы.

Например тут есть много слов о «maximize» (развернуть окно на весь экран), но немного не понятно, какой тип сообщений послать или какие свойства поменять.

Например, для того чтобы активировать окно надо послать _NET_ACTIVE_WINDOW сообщение. Какое сообщение будет для максимизации окна? И какое для восстановления прежнего размера?

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

Спасибо за подсказку! Забыл отписаться.

XClientMessageEvent e;
e.type = ClientMessage;
e.window = window;
e.message_type = NET_WM_STATE;
e.format = 32;
e.data.l[0] = _NET_WM_STATE_REMOVE;
e.data.l[1] = NET_WM_STATE_MAXIMIZED_VERT;
e.data.l[2] = NET_WM_STATE_MAXIMIZED_HORZ;
e.data.l[3] = 0;
e.data.l[4] = 0;
XSendEvent(QX11Info::display(), QX11Info::appRootWindow(), False, SubstructureNotifyMask | SubstructureRedirectMask, (XEvent*)&e);

Все работает, поначалу трудно было искать, в старом стиле доки... Затем удалось и многое другое найти =)

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