сосредоточиться на недавно открытый терминал

663
Amxx

Я использую gnome-shell 3.14 на archlinux 3.17.3-1. У меня есть сочетание клавиш (ctrl + alt + T), чтобы открыть xfce4-терминал.

Моя проблема в том, что когда я запускаю этот ярлык, фокус не устанавливается на вновь открытый терминал. Я пытался добавить в мой.zshrc

[[ -n "$DISPLAY" ]] && wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1) 

И это работало ... пока я не попытался открыть несколько вкладок в терминале. При открытии новой вкладки .zshrcзапускается и фокус перемещается на последний терминал, который может быть не тем открытием, над которым я сейчас работаю.

Поэтому я удалил команду из своего .zshrcфайла и попытался отредактировать команду, выполнив

xcfe4-terminal& sleep 0.1 wmctrl -i -a $(wmctrl -l | grep Terminal | tail -n 1 | cut -d ' ' -f1) 

Я пытался увеличить продолжительность сна, но все равно не справился (фокус не установлен)

Поэтому у меня есть 2 вопроса:

  • Можно ли как-нибудь заставить скрипт получить идентификатор окна терминала xfce4, на котором запущен скрипт?

  • Можно ли запустить команду при открытии xfce4-терминала (например, если он имеет .zshrcчетное число, которого нет в нем). Я попробовал эту --executeопцию, но она не удовлетворяет моим потребностям, так как она запускает только команду фокусировки и оставляет мне бесполезное окно

2

1 ответ на вопрос

1
Gray K

Я знаю, что этой теме уже 3 года, но в последнее время я страдаю от той же проблемы, когда перешел из плазмы в корицу. Это то, что я придумал

Добавьте это в свой .zshrc(или любой другой файл конфигурации оболочки)

xdotool windowactivate $(xdotool search --onlyvisible --class 'xfce4-terminal' | tail -n1) &>/dev/null 

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