4

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

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

1 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .