Page 2 of 2

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Wed Mar 31, 2021 3:37 pm
by ONEEYEMAN
@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.

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Thu Apr 01, 2021 9:09 am
by T-Rex
Вроде как-то так должно работать. Получение размеров максимизированного окна до показа основного UI.
Всякие там размеры бордеров и window decorations можно получить через wxSystemSettings.

Но в целом, если все рисуется через OpenGL, то лучше использовать wxEVT_SIZE для указанию GL контексту нового размера при изменении размера окна. Это будет работать и с максимизацией и просто с ручным изменением. Задавать размер один раз при старте приложения - неправильно. При изменении геометрии (например, при переключении мониторов или при изменении разрешения экрана) будут проблемы с отрисовкой.

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Thu Apr 01, 2021 12:03 pm
by ONEEYEMAN
T-Rex,
Это работает под Wayland and X11?

Спасибо.

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Thu Apr 01, 2021 2:21 pm
by T-Rex
Без понятия. под ругой была Ubuntu с Gnome Shell. Там работает. С остальными десктоп менеджерами - проверяй :)

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-а ?

Posted: Thu Apr 01, 2021 3:44 pm
by ONEEYEMAN
T-Rex,
Interesno.
A aka naschet chistogo Wayland?

Spasibo.

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Fri Apr 02, 2021 8:34 am
by T-Rex
Ну не, это сложно. Я и так достаточно времени на это потратил из спортивного интереса. На чистом Wayland проверяйте самостоятельно. Код я дал ;)

Re: Как определить область Desktop-а с учетом Taskbar-а ?

Posted: Fri Apr 02, 2021 11:55 am
by ONEEYEMAN
T-Rex,
Разве что из спортивного интереса.
А вообще ЛП в корне не прав лн просто потерял идею использования кросс-платформенной биьлиотеки.

Но это ткма для отдельного разговора...

Спасибо.