Код в 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
Замените, if window_name == "your_terminal_name_here":
на имя вашего терминала. Если вы запустите это "приложение" один раз с открытым окном терминала, оно даст вам название ваших окон.