Как получить идентификатор окна от xdotool Стопки Окна

Похоже, что Вы устанавливаете histchars (или HISTCHARS) в некотором другом zsh конфигурационном файле, который читается прежде ~/.zshrc: /etc/zsh/zshenv, ~/.zshenv или /etc/zsh/zshrc. Зафиксируйте: не делайте этого.

12
09.09.2014, 13:48
3 ответа

Я думаю xdotool getactivewindow - это то, что Вы хотите - Вы пробовали?

Он печатает идентификатор окна (из стека окон), если в командной строке больше нет подкоманд xdotool.

Например, в xdotool getactivewindowpid, getactivewindow помещает id в стек окна, а getwindowpid использует этот id для запроса PID. Обратите внимание, что выполнение этой команды в терминале всегда вернет идентификатор терминального окна, так как оно активно. Чтобы получить идентификатор из другого окна, попробуйте sleep 2s && xdotool getactivewindow и выберите интересующее вас окно в двухсекундном интервале времени.


При использовании xdotool с другими инструментами для работы с окнами возникает сложность:

В то время как в выводе xdotool используются десятичные числа для windwo ids, большинство других инструментов для вывода используют шестнадцатиричные числа (обычно они поддерживают оба входа).

Например, если вы найдете окно с xdotool getactivewindow, вы не найдете результата в выводе xwinfo -root -tree, в котором перечислены все окна. Сначала необходимо преобразовать его в шестнадцатеричное число:

$ xdotool getactivewindow                              
69206716
$ printf 0x%x 69206716                  
0x42002bc
$ xwininfo -root -tree | grep 0x42002bc
           0x42002bc (has no name): ("konsole" "Konsole")  1154x781+0+0  +1289+498


Преобразование десятичного в шестнадцатеричный:

printf 0x%x 69206716

Преобразование шестнадцатеричного числа в десятичное:

printf %i 0x42002bc
11
27.01.2020, 19:56

У меня работает эта команда

xdotool key --window "$(xdotool getactivewindow)" F5

Версия xdotool 3.20160805.1

1
27.01.2020, 19:56

Я знаю, что это старый вопрос. Может быть, кому-то этот ответ будет полезен.

xdotool selectwindow getmouselocation --shell

затем нажмите на окно, для которого вы хотите получить идентификатор.

0
18.09.2021, 02:15

Теги

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