LINUX.ORG.RU

xlib, frameless window


0

0
Как сделать чтобы окно было без заголовка и прочих декораций? override_redirect не подходит, т.к. это должно быть обычное окно, получающее все нужные сообщения, подчиняющееся window-manager-у. В ICCCM и EWMH нужного не нашёл. Погуглив на гномовских форумах нашёл что-то про Motif hints, но их описания не нашёл.
anonymous
Такое точно делается через Qt. Пример идет с qt3 (ищи в гугле tux.cpp).

Как такое сделать кроссплатформенно на чистом xlib не знаю.

signal
()
Ох народ, ну почему Xlib? Почему не использовать SDL/Qt/whatever? Это
в образовательных целях? По теме:
Это зависит от WM и достигается через атомы этого WM.
-----------------------------------------------------
Atom atom = None;
const char* atomName = "_MOTIF_WM_HINTS"; // motif compliant
const char* atomName = "KWM_WIN_DECORATION"; // kwm
const char* atomName = "_WIN_HINTS"; // gnome

// получить атом WMа
if((atom = XInternAtom(display, atomName, True)) != None){
// заполнить зависимую от WM структуру
// и вызвать XChangeProperty для окна
}
-----------------------------------------------------
В том же SDL - вызов SDL_SetVideoMode с флагом SDL_NOFRAME и все.
Не понимаю, что есть ограничения и использовать можно только Xlib
напрямую?
binnehex
()
Ответ на: комментарий от binnehex
> Ох народ, ну почему Xlib?

Так надо :)

Принцип понятен. Вот только конкретные детали неясны, ну ладно, почитаем сорсы.

anonymous
()
Ответ на: комментарий от anonymous
MWM hints - это правильное направление. Как их выставлять, а также константы посмотри в init.c и rxvt.h из исходников rxvt-unicode.
grob ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.