Я настраиваю Terminator для своего рабочего стола. Я использую ярлык Ctrl
+ Alt
+ T
, чтобы запустить его. Поскольку я хочу запустить только один экземпляр, я использую run-one terminator
в качестве команды запуска.
Теперь, если экземпляр Terminator запущен, новый экземпляр не запускается, но существующий экземпляр не фокусируется .
Есть какие-нибудь идеи относительно того, как мне заставить окно Терминатора сфокусироваться?
Вот метод, который работает без run-one
принятие wmctrl
доступно:
wmctrl -xa terminator.Terminator || terminator
Это предполагает, что имя класса окна по умолчанию используется. Можно стать творческими, если Вы хотите и используете пользовательское имя класса при запуске terminator
. Это позволит Вам разделять свой ярлык разделителя от нормального экземпляра разделителя:
wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator
Это просто основывается на ответе Denis без потребности в run-one
.
Вот хак, с которым я справился, используя run-one и xdotool
В /home/(user)/my_scripts/single_terminator_instance.sh
#!/usr/bin/bash
# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator
# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate
Затем
[ 118]Main Menu
, чтобы она указала на приведенный выше сценарий Ctrl
+ Alt
+ T
активирует сценарий
Так как я новичок в bash-скриптах, я приветствую любые доработки в хаке!
Попробуйте установить wmctrl : sudo apt-get install wmctrl
Теперь команда wmctrl -a STRING
фокусируется на окне, содержащем STRING в заголовке
, поэтому ваша последняя команда быть:
run-one terminator; wmctrl -a Terminator