@T-Rex,
Ne sovsem tak.
Ramery okna ne izvestnu poka okno ne budet polnostju otrisovano (fully realized).
Delo v tom chtpo pod *nix, uchityvajutsja decorations, a oni ne izvestny do samogo poslednego momenta. I esche nugno uchityvat razlichnye temy, kotorye mogut menyat razmer decorations, zagolovka, i.t.d.
Zadacha sovsem ne trivialnaja i prosche ispolzovat biblioteku GTK/Qt/wxWidgets.
Vo vsjakom sluchae tak bylo pod X11. Kak naschet Wayland - ne znaju. Tam svoi priomochki.
Как определить область Desktop-а с учетом Taskbar-а ?
- T-Rex
- Moderator
- Posts: 1249
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Как определить область Desktop-а с учетом Taskbar-а ?
Вроде как-то так должно работать. Получение размеров максимизированного окна до показа основного UI.
Всякие там размеры бордеров и window decorations можно получить через wxSystemSettings.
Но в целом, если все рисуется через OpenGL, то лучше использовать wxEVT_SIZE для указанию GL контексту нового размера при изменении размера окна. Это будет работать и с максимизацией и просто с ручным изменением. Задавать размер один раз при старте приложения - неправильно. При изменении геометрии (например, при переключении мониторов или при изменении разрешения экрана) будут проблемы с отрисовкой.
Всякие там размеры бордеров и window decorations можно получить через wxSystemSettings.
Но в целом, если все рисуется через OpenGL, то лучше использовать wxEVT_SIZE для указанию GL контексту нового размера при изменении размера окна. Это будет работать и с максимизацией и просто с ручным изменением. Задавать размер один раз при старте приложения - неправильно. При изменении геометрии (например, при переключении мониторов или при изменении разрешения экрана) будут проблемы с отрисовкой.
- Attachments
-
- wxTest.zip
- (10.32 KiB) Downloaded 319 times
Re: Как определить область Desktop-а с учетом Taskbar-а ?
T-Rex,
Это работает под Wayland and X11?
Спасибо.
Это работает под Wayland and X11?
Спасибо.
- T-Rex
- Moderator
- Posts: 1249
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Как определить область Desktop-а с учетом Taskbar-а ?
Без понятия. под ругой была Ubuntu с Gnome Shell. Там работает. С остальными десктоп менеджерами - проверяй
И да. напоминаю, что любой десктоп менеджер - это сторонняя поделка стороннего разработчика, которая ВНЕЗАПНО! может заработать под определенным дистрибутивом. Единственная общая штука - это то, что все они умеют работать с X сервером, подозреваю что на чистых иксах без desktop manager'а должно работать корректно. Может быть такое что для определенного desktop manager'а нужно использовать именно встроенное API этого desktop manager'а.
UPD:
Поставил gnome-session-wayland, на Ubuntu on Wayland - вроде работает.
С GNOME on Xorg - тоже работает
Code: Select all
root@trex-ubuntu-vm:/home/t-rex# wmctrl -m
Name: GNOME Shell
Class: N/A
PID: N/A
И да. напоминаю, что любой десктоп менеджер - это сторонняя поделка стороннего разработчика, которая ВНЕЗАПНО! может заработать под определенным дистрибутивом. Единственная общая штука - это то, что все они умеют работать с X сервером, подозреваю что на чистых иксах без desktop manager'а должно работать корректно. Может быть такое что для определенного desktop manager'а нужно использовать именно встроенное API этого desktop manager'а.
UPD:
Поставил gnome-session-wayland, на Ubuntu on Wayland - вроде работает.
С GNOME on Xorg - тоже работает
Re: Как определить область Desktop-а с учетом Taskbar-а ?
T-Rex,
Interesno.
A aka naschet chistogo Wayland?
Spasibo.
Interesno.
A aka naschet chistogo Wayland?
Spasibo.
- T-Rex
- Moderator
- Posts: 1249
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Re: Как определить область Desktop-а с учетом Taskbar-а ?
Ну не, это сложно. Я и так достаточно времени на это потратил из спортивного интереса. На чистом Wayland проверяйте самостоятельно. Код я дал
Re: Как определить область Desktop-а с учетом Taskbar-а ?
T-Rex,
Разве что из спортивного интереса.
А вообще ЛП в корне не прав лн просто потерял идею использования кросс-платформенной биьлиотеки.
Но это ткма для отдельного разговора...
Спасибо.
Разве что из спортивного интереса.
А вообще ЛП в корне не прав лн просто потерял идею использования кросс-платформенной биьлиотеки.
Но это ткма для отдельного разговора...
Спасибо.