LINUX.ORG.RU

Как получить правильные размеры workarea в мультимониторной системе?

 , , ,


0

1

Мне надо получить геометрию рабочих зон всех мониторов: тех участков экрана, куда можно помещать свои окна, не трогая разнообразные панельки, доки, или что там ещё оконный менеджер рисует.

Вроде бы для этого есть свойство _NET_WM_WORKAREA, но туда помещается только один прямоугольник, который чаще всего показывает погоду на Марсе: то bounding box, то странно расширенный прямоугольник главного монитора.

Ещё вариант: пройтись по всем окнам, посмотреть на _NET_WM_STRUT/_NET_WM_STRUT_PARTIAL, рассчитать доступное пространство самому.

Ну и упоротый вариант: создать временные окна, растаскать их по мониторам, максимайзнуть, подождать максимайза (как?), померять размеры.

Я что-то упускаю или это всё, что можно сделать?

★★★

подождать максимайза (как?)

О, вот решение этого я бы тоже не прочь узнать.

Пока придумал только простое ожидание. Ожидание ConfigureNotify, Expose, MapNotify во всех комбинациях и в любой последовательности не подходит. То в одном WM отвалится, то в другом.

i-rinat ★★★★★
()
Ответ на: комментарий от frame

Судя по тому, как все эти _NET-свойства заполняются (от фонаря в каждом WM/DE) - прийдется городить велосипед размером с трактор

frame ★★★
()
Ответ на: комментарий от anonymous

Ну, вообще да. Но мне надо эти размеры передать оконному менеджеру оффтопика на удалённой машине, чтобы он не бесил через RDP локальный оконный менеджер своими попытками засунуть окна под очередной таскбар.

ilammy ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.