Код в 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":
с именем вашего терминала. Если вы запустите это «приложение» один раз с открытым окном терминала, оно даст вам название вашего окна.