Терминатор: одно окно, фокус на запуске


8

Я настраиваю Терминатор для моего рабочего стола. Я использую ярлык Ctrl+ Alt+, Tчтобы запустить его. Поскольку я хочу запустить только один экземпляр, я использую run-one terminatorкоманду запуска.

Теперь, если экземпляр Terminator запущен, новый экземпляр не запускается, но существующий экземпляр не фокусируется .

Любые идеи относительно того, как я мог получить окно Терминатора, чтобы сфокусироваться?

Ответы:


4

Попробуйте установить wmctrl : sudo apt-get install wmctrl
теперь команда wmctrl -a STRINGфокусируется на окне, содержащем STRING в заголовке,
поэтому ваша последняя команда будет:

run-one terminator; wmctrl -a Terminator

Спасибо за указатель. Я нашел решение, которое работает довольно хорошо, подробно описано ниже.
Мистер Хайд,

8

Вот метод, который работает без run-oneпредположения, wmctrlчто доступен:

wmctrl -xa terminator.Terminator || terminator

Предполагается, что используется имя класса окна по умолчанию. Вы можете проявить творческий подход, если хотите, и использовать имя собственного класса при запуске terminator. Это позволит вам сохранить ярлык терминатора отдельно от обычного экземпляра терминатора :

wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator

Это просто основано на ответе Дениса без необходимости run-one.


Есть идеи, как заставить его переключать фокус?
Джо

Отличное решение. Мне пришлось использовать bash -c 'wmctrl -xa terminator.Terminator || terminator'на Ubuntu 18.10 с использованием Gnome 3.30.1. В противном случае ярлык будет работать только после запуска терминатора.
stebu92

1

Вот взлом, который я решил использовать 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

затем

  1. Измените команду быстрого вызова Terminator, Main Menuчтобы она указала на приведенный выше сценарий
  2. В сочетаниях клавиш Ctrl+ Alt+ Tактивирует скрипт

В поисках через i'net я тоже случайно наткнулся на это

Так как я новичок в bash-скриптах, я приветствую любые доработки!


Проще: /usr/bin/wmctrl -xa terminator:-) вместо xdotool! Спасибо Денис.
Мистер Хайд,

вы правы! правильный путьwmctrl -xa terminator
Денис

Я попробовал ваши решения, но на моем компьютере не работает программа run-one с Terminator. Он всегда запускает новый экземпляр. У тебя есть идеи почему? Спасибо.
Тамас Барта

ps aux | grep terminatorничего не возвращает Процесс запускается для меня как x-терминал-эмулятор, так что это может быть причиной. Я сделал ручную проверку следующим образом: RUNNING = $ (ps aux | grep x-терминал-эмулятор | grep -v grep) if [[-z $ RUNNING]]; затем x-терминал-эмулятор и фи
Тамас Барта

@ BartaTamás Вы решили свою проблему. Мой скрипт - это две строки bash, прикрепленные к сочетанию клавиш. Сейчас я использую его с gnome-terminal и tmux и очень доволен решением. Но это также надежно работает с терминатором. Возможно, одно и то же сочетание клавиш назначается дважды (Ctrl + Alt + T). Просто угадай!
Мистер Хайд,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.