Я пытаюсь написать небольшой скрипт, который поможет управлять моими окнами с помощью сочетаний клавиш.
Для того, чтобы делать то, что я хочу, мне нужно найти текущее местоположение и размер «активного» (сфокусированного) окна. Под местоположением я имею в виду координаты X, Y окна на рабочем столе, а под размером - высоту и ширину окна.
Есть ли утилита командной строки, которая может получить эту информацию?
С помощью «xdotool» вы можете легко взаимодействовать с окнами, используя события клавиатуры или мыши.
Пример отправки последовательности Ctrl kbd> C kbd> в активное окно:
xdotool getwindowfocus key ctrl+c # Sends CTRL+C to the current window.
Если вам действительно нужна позиция окна:
[ 111]Для получения дополнительной информации о действиях / опциях обратитесь к справочной странице .
Вы можете получить всю информацию для текущего активного окна с помощью этой команды:
xwininfo -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')
или
xwininfo -id $(xdpyinfo | grep focus | grep -E -o 0x[0-9a-f]+)
Просто проанализируйте выходные данные для нужных вам координат. Вот некоторые полезные команды при взаимодействии с окнами:
Например, чтобы изменить заголовок активного окна на «Новое имя»:
wmctrl -r :ACTIVE: -N "New Name"
Или изменить положение активного окна:
wmctrl -r :ACTIVE: -e 0,20,20,200,400
Рассмотрите wmctrl
, если вам нужно просто изменить что-то простое, например, геометрию окна. Попробуйте использовать другие скрипты, упомянутые выше, только если вы хотите делать другие более сложные вещи.