Как я могу найти расположение (на рабочем столе) окна в командной строке?

Я пытаюсь написать небольшой скрипт, который поможет управлять моими окнами с помощью сочетаний клавиш.

Для того, чтобы делать то, что я хочу, мне нужно найти текущее местоположение и размер «активного» (сфокусированного) окна. Под местоположением я имею в виду координаты X, Y окна на рабочем столе, а под размером - высоту и ширину окна.

Есть ли утилита командной строки, которая может получить эту информацию?

19
задан 14 August 2011 в 12:16

2 ответа

С помощью «xdotool» вы можете легко взаимодействовать с окнами, используя события клавиатуры или мыши.

Пример отправки последовательности Ctrl C в активное окно:

xdotool getwindowfocus key ctrl+c # Sends CTRL+C to the current window.

Если вам действительно нужна позиция окна:

[ 111]

Для получения дополнительной информации о действиях / опциях обратитесь к справочной странице .

0
ответ дан 14 August 2011 в 12:16

Вы можете получить всю информацию для текущего активного окна с помощью этой команды:

xwininfo -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')

или

xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)

Просто проанализируйте выходные данные для нужных вам координат. Вот некоторые полезные команды при взаимодействии с окнами:

  • xwininfo даст вам относительную и абсолютную геометрию.
  • xprop расскажет вам много информации, в том числе, если окно активно, но не его геометрия
  • xdpyinfo даст вам идентификатор активного окно тоже, но без дополнительной информации.
  • wmctrl предоставит вам список информации об окнах и позволит вам выбрать активное окно для модификации, но не информацию.

Например, чтобы изменить заголовок активного окна на «Новое имя»:

wmctrl -r :ACTIVE: -N "New Name"

Или изменить положение активного окна:

wmctrl -r :ACTIVE: -e 0,20,20,200,400

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

0
ответ дан 14 August 2011 в 12:16

Другие вопросы по тегам:

Похожие вопросы: