Как узнать текущее активное окно в Ubuntu 22.04?

Как узнать текущее активное окно в Ubuntu 22.04?

С момента выхода Ubuntu 22.04 этот вопрос стал нормальным.
Я пишу скрипт оболочки, которому нужно получить имя текущего активного окна, поэтому после поиска инструмента для этого я решил использовать xdotool.
Но когда я запускаю терминал или настройки, xdotool getwindowfocus getwindownameвыдает ошибку:
xdo_get_focused_window_sane failed (code=1)
xdo_focus_window reported an error
Так как мне исправить эту ошибку или как мне получить имя текущего активного окна?

решение1

xdotoolработает только для менеджера отображения Xorg, а не Wayland, а Wayland используется по умолчанию в Ubuntu 22.04. В Wayland нет эквивалентного способа выбора окна с фокусом. Лучшим вариантом, если вам нужна эта функциональность, будетперейти на использование Xorgи тогда метод, который вы использовали, сработает.

Если вы хотите придерживаться Wayland и готовы копать довольно глубоко, чтобы разобраться в этом, вы можете использовать метод вашего оконного менеджера или композитора для открытия окон. Это непереносимо между WM и не во всех ситуациях возможно. Смотритеэтот вопрос о Gnomeгде это вообще невозможно.

Связанный контент