Название: Ограничение максимизации окон Отправлено: eg015t от Март 05, 2009, 10:19 Есть приложение, которое должно распологаться всегда в виде панели сверху экрана. Но при максимальном расскрытии сторонних приложений, они, естественно, частично попадают под эту панель. Не подскажите как этого избежать? Заранее благодарен, использую QT 3.
Название: Re: Ограничение максимизации окон Отправлено: sendevent от Март 07, 2009, 16:48 я так понимаю, нужно поведение "как у квипа"? тогда надо курить используемый оконный менеджер.
не выходя за рамки кьют - максимум что можно сделать, это установить "панель" как топлевел, что, вроде, уже и сделано. Название: Re: Ограничение максимизации окон Отправлено: cresta от Март 07, 2009, 16:56 может попробовать сделать панель автоматически убирающуюся?
Следить за положением курсора и если он вверху, выдвигать панель. Если курсор ушел с панели - через n секунд убирать её Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 07, 2009, 21:46 Спасибо за советы, но, к сожалению, убирать с экрана нельзя, панель всегда на виду должна быть.. Менеджер - IceWM...
Название: Re: Ограничение максимизации окон Отправлено: Alex Custov от Март 08, 2009, 19:03 Тебе нужны strut-ы из NETWM.
http://www.linux.org.ru/wiki/en/NETWM в конце есть архив с примером такой панели. Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 10, 2009, 10:09 >Тебе нужны strut-ы из NETWM.
То, что нужно, посмотрел пример на QT4. Но, у меня QT3 и там нет QX11Info.... Название: Re: Ограничение максимизации окон Отправлено: Steven_Orko от Март 10, 2009, 10:30 Но, у меня QT3 и там нет QX11Info.... Создай сам по примеру. Я так и сделал. К сожалению, не могу передать код, т.к. исходники уже на учете. ))))Вообще, если говорить о приведенной ссылке, то тебе будет достаточно следующих двух функций: Код: qt_xrootwin(void) Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 10, 2009, 13:23 Steven_Orko, а поподробней можно с примером с тем? Пробовал заменить QX11Info на qt_xdisplay из qwindowdefs.h, netwm.h оставил без изменений. Но при компиляции ругается на NET_WM_STRUT_PARTIAL. В моем /X11/Хatom.h "NET_WM_STRUT_PARTIAL" не пристутсвует.
Название: Re: Ограничение максимизации окон Отправлено: Alex Custov от Март 10, 2009, 14:00 qt3 panel
Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 10, 2009, 16:57 >qt3 panel
как то тоже не работает у меня... все скомпилировалось... панель запускается.. но желаемых свойств не имеет, ведет себя как обычное окно:-( Название: Re: Ограничение максимизации окон Отправлено: Alex Custov от Март 10, 2009, 18:44 проверил на Дебиановском IceWM - всё прекрасно работает.
Твой IceWM скомпилирован с WMSPEC_HINTS? Название: Re: Ограничение максимизации окон Отправлено: Steven_Orko от Март 11, 2009, 08:35 Steven_Orko, а поподробней можно с примером с тем? Пробовал заменить QX11Info на qt_xdisplay из qwindowdefs.h, netwm.h оставил без изменений. Но при компиляции ругается на NET_WM_STRUT_PARTIAL. В моем /X11/Хatom.h "NET_WM_STRUT_PARTIAL" не пристутсвует. А что значит, ругается??? Приведи вывод.Твой IceWM скомпилирован с WMSPEC_HINTS? Это здесь причем??? Я могу создать в Иксах любой атом у любого окна, хотя бы даже с именем "bla-bla".Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 11, 2009, 10:02 Получилось под QT3 скомпилить, проблема была в приложении, к сабжу отношения не имеет. Форумчане, извиняйте, ошибка с оконным менеджером, используется ELK. :-[ В нем приложение ведет себя не так как ожидалось. Под KDE все в порядке...
Название: Re: Ограничение максимизации окон Отправлено: Steven_Orko от Март 11, 2009, 13:44 О!!! Эт ты мог спросить. Я бы тебе ответил, что с этим elk-wm только гемор один. Мы от него отказались и свой используем. Только DM от ELK используем пока, и то до тех пор, как руки до него дойдут. Остальная вся среда DE самописная, мною )))))
Название: Re: Ограничение максимизации окон Отправлено: eg015t от Март 11, 2009, 14:19 Нуу.... Буду знать :) Спасибо за советы!
Название: Re: Ограничение максимизации окон Отправлено: Alex Custov от Март 11, 2009, 17:48 Твой IceWM скомпилирован с WMSPEC_HINTS? Это здесь причем??? Я могу создать в Иксах любой атом у любого окна, хотя бы даже с именем "bla-bla".Ну создай. Ну "bla-bla". Для свои целей - сколько угодно. Атомы NETWM - средство косвенного общения с оконым менеджером, и если я создаю атом NET_WM_STRUT_PARTIAL то это намёк оконному менеджеру, что я от него что-то хочу, и он должен мне это предоставить. И если IceWM скомпилен без WMSPEC_HINTS, то он не будет знать о NET_WM_STRUT_PARTIAL и струты работать не будут. Доступно объяснил? :) |