Предотвратить Ctrl-Alt-T от открытия нового окна терминала, когда оно уже существует?

401
K. Rauscher

Я хотел бы знать, есть ли способ заставить ярлык Ctrl-Alt-T вести себя так же, как на xfce. То есть: если ни один терминал не открыт, откройте один, иначе сосредоточьтесь на существующем, а не открывайте новый. В идеале без необходимости устанавливать такие вещи, как xdotool.

Я использую manjaro linux с корицей (3.0.7) и gnome-терминал (3.20.2).

4
Я знаю, что это * технически * не отвечает на ваш вопрос, но посмотрите на [Guake] (http://guake-project.org/), это терминал, который выдвигается сверху и может быть открыт с помощью пользовательского горячая клавиша (по умолчанию открывается существующий терминал) cascer1 7 лет назад 0

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

0
theGtknerd

Код в https://stackoverflow.com/questions/1380784/how-to-get-list-opened-windows-in-pygtk-or-gtk-in-ubuntu скажет вам, открыт ли терминал, и затем вы бы нужно сфокусировать терминал. (Конечно, если нет терминала, откройте новый.) Кроме того, вам нужно будет подключить ярлык Ctrl-Alt-T к созданной вами мини-программе, которая будет контролировать все.

Редактировать с рабочим кодом:

#!/usr/bin/python  import gi gi.require_version('Wnck', '3.0') from gi.repository import GdkX11, Gdk, Wnck import subprocess   screen = Wnck.Screen.get_default() screen.force_update() # recommended per Wnck documentation  # loop all windows for window in screen.get_windows(): window_name = window.get_name() print window_name if window_name == "your_terminal_name_here": now = GdkX11.x11_get_server_time(Gdk.get_default_root_window()) window.activate(now) break continue else: subprocess.call("gnome-terminal")  # clean up Wnck (saves resources, check documentation) window = None screen = None Wnck.shutdown() 

Поместите этот код в файл с именем check_window.py и свяжите с ним ярлык в «Предпочтения»> «Клавиатура»> «Сочетания клавиш». Сделайте файл исполняемым с помощью chmod +x check_window.py Replace if window_name == "your_terminal_name_here":с именем вашего терминала. Если вы запустите это «приложение» один раз с открытым окном терминала, оно даст вам название вашего окна.