Verhindern, dass Strg-Alt-T ein neues Terminalfenster öffnet, wenn bereits eines vorhanden ist?

468
K. Rauscher

Ich würde gerne wissen, ob es eine Möglichkeit gibt, die Tastenkombination Strg-Alt-T so zu verhalten, wie es auf xfce wäre. Das heißt: Wenn kein Terminal geöffnet ist, öffnen Sie ein anderes, fokussieren Sie auf das vorhandene, anstatt ein neues zu öffnen. Idealerweise ohne Dinge wie xdotool installieren zu müssen.

Ich verwende Manjaro Linux mit Zimt (3.0.7) und Gnome-Terminal (3.20.2).

4
Ich weiß, dass diese Frage nicht * technisch * beantwortet wird, aber werfen Sie einen Blick auf [Guake] (http://guake-project.org/). Es ist ein Terminal, das von oben herausgleitet und mit einem Benutzerdefiniert geöffnet werden kann Hotkey (öffnet standardmäßig das vorhandene Terminal) cascer1 vor 7 Jahren 0

1 Antwort auf die Frage

0
theGtknerd

Der Code in https://stackoverflow.com/questions/1380784/how-to-get-list-opened-windows-in-pygtk-or-gtk-in-ubuntu würde Ihnen sagen, ob ein Terminal geöffnet ist und Sie dies tun würden müssen das Terminal fokussieren. (Wenn kein Terminal vorhanden ist, öffnen Sie natürlich ein neues Terminal.) Außerdem müssen Sie die Tastenkombination Strg-Alt-T mit dem von Ihnen erstellten Mini-Programm verknüpfen, das alles steuert.

Bearbeiten Sie mit Arbeitscode:

#!/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() 

Fügen Sie diesen Code in eine Datei mit dem Namen check_window.py ein und verknüpfen Sie eine Verknüpfung mit Voreinstellungen> Tastatur> Verknüpfungen. Machen Sie die Datei mit chmod +x check_window.py Ersetzen if window_name == "your_terminal_name_here":mit dem Namen Ihres Terminals ausführbar . Wenn Sie diese 'App' einmal bei geöffnetem Terminalfenster ausführen, erhalten Sie den Namen Ihres Fensters.