Empêcher Ctrl-Alt-T d'ouvrir une nouvelle fenêtre de terminal s'il en existe une?


4

J'aimerais savoir s'il existe un moyen de faire en sorte que le raccourci Ctrl-Alt-T se comporte comme il le ferait sous xfce. C'est-à-dire: si aucun terminal n'est ouvert, ouvrez-en un, sinon concentrez-vous sur l'existant au lieu d'en ouvrir un nouveau. Idéalement sans avoir à installer des choses comme xdotool.

J'utilise manjaro linux avec cannelle (3.0.7) et gnome-terminal (3.20.2).


Je sais que ce n'est pas techniquement répondez à votre question, mais jetez un oeil à Guake , c’est un terminal qui glisse par le haut et peut être ouvert en utilisant un raccourci clavier personnalisé (il ouvre le terminal existant par défaut)
cascer1

Réponses:


0

Le code en https://stackoverflow.com/questions/1380784/how-to-get-list-opened-windows-in-pygtk-or-gtk-in-ubuntu vous dira si un terminal est ouvert et vous devrez alors focaliser le terminal. (Bien sûr, s'il n'y a pas de terminal, ouvrez-en un nouveau.) De plus, vous devrez brancher le raccourci Ctrl-Alt-T au mini programme que vous créez et qui contrôle tout.

Modifier avec le code de travail:

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

Placez ce code dans un fichier appelé check_window.py et associez-lui un raccourci dans Préférences & gt; Clavier & gt; Raccourcis Rendre le fichier exécutable avec chmod +x check_window.py Remplacer if window_name == "your_terminal_name_here": avec le nom de votre terminal. Si vous lancez cette application une fois avec la fenêtre de votre terminal ouverte, vous obtiendrez le nom de vos fenêtres.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.