Я использую XCreateSimpleWindow для создания окна x11. xprop показывает следующие разрешенные действия для моего окна:x11 - как установить _NET_WM_ALLOWED_ACTIONS
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_STICK, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
Что произойдет, если я не ставлю их в явном виде (как выше)? В окне есть список по умолчанию, который содержит все из них? Как установить их явно?
Edit1 Вот пример кода, который устанавливает только один разрешенный действие:
Atom aa = XInternAtom(d, "_NET_WM_ALLOWED_ACTIONS", False);
Atom close = XInternAtom(d, " _NET_WM_ACTION_CLOSE", False);
XChangeProperty(d, w, aa, XA_ATOM, 32, PropertyNewValue, (unsigned char*)&close, 1);
Оконный менеджер еще позвольте мне переместить или изменить размер окна так, может быть, я должен отправить некоторые клиента сообщение? Я хочу иметь окно, которое позволяет только для близких действий.
Пожалуйста, смотрите edit1 – Irbis
, если вы хотите, чтобы окно быть не resizeble, лучше использовать WM_NORMAL_HINTS свойство - см http://standards.freedesktop.org/wm-spec/wm-spec -1.3.html # NORESIZE –