Мне нужно найти способ получить геометрию, подходящую для перехода к некоторому X
опция -geometry
команды окна, чтобы она гарантированно покрывала
все корневое окно X, которое не перекрывается ни с чем GNOME
управляет собой (например, окно панели GNOME). Это не то же самое, что
вывод xwininfo -root
, который будет возвращать геометрию для
все X корневое окно, и обязательно будет включать в себя недвижимость
потребляется панелью GNOME. Мне не нужно то же самое, чтобы быть правдой для KDE
так как я больше не использую KDE.
Я бы хотел получить эту геометрию, используя X
утилиты командной строки windows и не надо прибегать к Xlib
программирование (т.е. я хотел бы сделать это из сценариев). Сценарии
может зависеть от утилит командной строки GNOME.
Использование базовой математики для «вычитания» из панели GNOME было бы вариантом,
но только если бы у меня была гарантия, что мне нужно будет только отчитаться
для одного и единственного окна GNOME Panel X. Но я подозреваю, что GNOME
Окно панели не единственное, что нужно учитывать. Я говорю
потому что внизу есть окно, которое показывает xwininfo
как «Нижняя расширенная кромочная панель», которая может или не может быть в конфликте
с точки зрения недвижимости, поскольку отображается только при наведении мыши на
в самом низу корневого окна X. Но если панель GNOME действительно
только один, чтобы рассмотреть, то этот метод "вычитания" может быть просто
достаточно хорошо.
Мой пример использования такой: я использую rdesktop для RDP в различные
Рабочие столы Microsoft Windows. Пользователь должен решить, прежде чем выполнять
rdesktop
, размеры в окне X, так как он не может быть изменен
после того, как это отображается. Мне нужно это окно, чтобы потреблять максимум
количество недвижимости корневого окна при условии, что оно не конфликтует с
управляемые GNOME окна, такие как панель GNOME. Что я делаю сейчас
это жесткое программирование геометрии для конкретного рабочего стола в моей оболочке
сценарии, которые вызывают rdesktop
, но не в состоянии делать то, что я хочу, потому что
Я работаю с разных рабочих столов, которые обязательно меняются по дисплею
аппаратное обеспечение, с результирующим изменением геометрии корневого окна X.
Подача геометрии корневого окна X в результаты команды rdesktop
в окне RDP, которое выходит за видимую область в GNOME
рабочий стол, так как оконный менеджер GNOME перемещает фактический верхний левый
поверните вниз, чтобы избежать наложения на панель GNOME, с результатом
что часть окна RDP скрыта от манипуляций мышью.
Я пытался использовать xwininfo -root -children
, чтобы посмотреть, смогу ли я найти
некоторое окно X в непосредственных потомках корня X, который будет
последовательно быть окном, которое я мог бы использовать, чтобы извлечь эти измерения,
но имена выглядят так, как будто они являются деталями реализации GNOME
настольное программное обеспечение (или metacity WM), или и то, и другое
что-то, на что я хочу положиться.