Как получить точный окне информации (размеры, и т. д.) в Linux (X)?

Как я могу получить точную информацию о окне в Linux? Я знаю, что могу использовать wmctrl для получения размера окна, но фактический размер окна может отличаться из-за оформления окна. Мне нужна следующая информация и методы:

* precise window dimensions
* precise available screen space (excluding panels like gnome-panel)
* the ability to set a window to be a certain size, including decorations

Как лучше всего это сделать?

спасибо заранее!

25
задан mellort
21.11.2022 15:02 Количество просмотров материала 3150
Распечатать страницу

2 ответа

есть некоторые программы командной строки, которые могут помочь:

  • xwininfo: он получает вам размер окна за исключением украшения и позиции абсолютной (на экран) и относительной (к области для окон)
  • xdpyinfo: это дает гораздо больше информации о вашем экране-устройств, чем вы когда-либо хотите знать. Но у него где-то на выходе что-то вроде screen: #0 следовал по dimension: 1024x768.
20
отвечен Antwortgenossenschaft 2022-11-22 22:50

> точные размеры окна

следующий пример (будет работать, по крайней мере, в sh, bash и zsh) будет печатать геометрию окна с рамкой и без рамки для всех окон с "KWrite" где-то в заголовке.

windows="$(wmiface findNormalWindows "KWrite" "" "" "" "" "")"
for window in $(echo $windows); do
{
  echo $window
  wmiface framePosition $window
  wmiface frameSize $window
  wmiface windowPosition $window
  wmiface windowSize $window
  echo
} done

> > точное доступное пространство экрана (за исключением панелей, таких как gnome-panel)

xrandr

например:

xrandr | head -n1 | cut -d, -f2 | cut -d" " -f3-5

вывод в моем случае:

4400 x 2560

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

> > возможность установить окно определенного размера, в том числе украшения

wmiface setFrameGeometry $window $x $y $width $height

Read wmiface README для еще более возможных команд.

6
отвечен Lissanro Rahyen 2022-11-23 01:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх