Wie kann ich eine Tastenkombination binden, die eine Registerkarte enthält?

1

Ich möchte die Verknüpfung zum nächsten / vorherigen Tab im XFCE-Terminal von neu binden Strg + PgDn / PgUp zu Strg + Tab / Strg + Verschiebung + Tab . Es scheint auch nicht zu funktionieren, wenn man es bearbeitet accels.scm oder ändern Sie die Verknüpfung interaktiv, indem Sie den Mauszeiger über das Menü halten und die gewünschte Tastenkombination drücken.

Andere Tasten funktionieren gut, es sind nur Verknüpfungen, die dazugehören Tab das sind ein problem. Ich gehe davon aus, dass dies etwas Besonderes für GTK ist und nicht einmal die Bewerbung erreicht. Gibt es eine Möglichkeit, dies zu überschreiben?

Davor Cubranic
quelle

Antworten:

1

Sie können die Tabulatortaste nicht für Verknüpfungen verwenden, zumindest in Xfce Terminal.

Direkte Antworten

[...] Es sind nur Verknüpfungen mit Tab, die ein Problem darstellen. Ich gehe davon aus, dass dies etwas Besonderes für GTK ist und nicht einmal die Bewerbung erreicht.

Ihre Annahme ist richtig. Die Einschränkung gilt tatsächlich für GTK + -Anwendungsprogramme und Xfce Terminal ist eines davon. Und es sind nicht nur Verknüpfungen, die die Tabulatortaste betreffen, sondern auch einige andere Tasten, d. H. PageUp, PageDown, F10, die nicht einzeln verwendet werden können (ohne Modifizierertaste).

Gibt es eine Möglichkeit, dies zu überschreiben?

Wahrscheinlich nein, obwohl möglicherweise eine Problemumgehung vorliegt. Besser ist es, nach Alternativen zur Tabulatortaste zu suchen oder andere Anwendungsprogramme zu verwenden, die dies zulassen. Siehe auch die folgenden Erläuterungen.

Erklärt von Mitwirkenden

Erstens ist es datiert Fehler 3524 Die Meldung "Tastaturkürzel auf der nächsten / vorherigen Registerkarte bewirken nichts". Der relevanteste Kommentar wurde unten zitiert.

[Kommentar 9: Nick Schermer 2009-10-10 13:49:08 CEST]

Xfwm und Terminal verwenden eine andere Methode, wenn sie mit Beschleunigern umgehen (xfwm direkt von x, Terminal ist auf gtk angewiesen). Wird in gtk als ungültiger Beschleuniger behandelt, so prüft dieses Terminal vor dem Einstellen, ob der Beschleuniger gültig ist, um ihn zu reparieren. Infolgedessen führt das Drücken von von nun an zu nichts mehr im Shortcuts-Editor.

Zweitens ist es datiert Beitrag auf Stack Overflow das fragte "PyGTK: Verwendung von Tab in AccelGroup zulassen". Ein relevanter Teil der Frage wurde unten zitiert.

Bei Verwendung von gtk.Accel Group ist jede Kombination mit einem Tabulatorzeichen ungültig. Jetzt verstehe ich, dass die Benutzeroberflächennavigation mit diesem Schlüssel erfolgt [...]

Erklärt durch Dokumentation

In Bezug auf "Benutzeroberflächennavigation erfolgt mit diesem Schlüssel" wurde in der GNOME-Entwicklerdokumentation der Sachverhalt in Thema von vermerkt Tastatureingabe wie unten angegeben.

Tastaturnavigation

[...] Tab ist der Standardschlüssel zum Navigieren in einer Schnittstelle mit GTK + und GNOME.

Darüber hinaus verfügen Verknüpfungen, die die Tabulatortaste verwenden, über dedizierte Funktionen.

Standardnavigationstasten

Tab und Verschiebung + Tab Bewegt den Tastaturfokus zum nächsten / vorherigen Steuerelement

Strg + Tab und Verschiebung + Strg + Tab Verschiebt den Tastaturfokus aus dem umschließenden Widget zum nächsten / vorherigen Steuerelement, wenn nur Tab eine andere Funktion hat

Strg + Tab und Verschiebung + Strg + Tab Verschiebt den Tastaturfokus zur nächsten / vorherigen Gruppe von Steuerelementen

Daher machen frühere Kommentare jetzt Sinn.

Überarbeitete Antwort (2017.04.04)

Trotz Tabulatortaste wird erkannt als ^I in der Kommandozeilen-Shell für Tab Vervollständigung Hat es die geringste Relevanz, wenn die Tabulatortaste nicht als Verknüpfung in grafischen Anwendungsprogrammen verwendet werden kann.

Warum kann die Tabulatortaste nicht als Verknüpfung verwendet werden? Der Grund war einfach: Die Tabulatortaste und ihre Kombinationstasten sind für GTK + und GNOME reserviert.

Obwohl GNOME Terminal über GSettings die Verwendung der Tabulatortaste für Verknüpfungen ermöglicht, gibt es für Xfce Terminal über Xfconf zu diesem beantworteten Datum keinen entsprechenden Hack.

clearkimura
quelle
1
Ja, Tab wird von der Shell interpretiert, aber Ihre ausführliche Erklärung geht nicht auf meine Frage ein: Warum kann Strg + Tab nicht als Verknüpfung verwendet werden?
Davor Cubranic
Sieht so aus, als hätte ich die Frage nicht vollständig verstanden. Dies kann also ein Xfce- oder GTK + -spezifisches Problem sein. Sie müssen weitere Nachforschungen anstellen, bevor Sie die Antwort überarbeiten.
clearkimura
Überarbeitete meine Antwort. Obwohl der Grund einfach war, konnte ich keine eindeutige Antwort finden. Ich musste Text aus mehreren Quellen zitieren, was meine Antwort sowieso langwierig macht.
clearkimura
Vielen Dank für das Update: Sie haben Recht, es ist die GTK, die die Tab-Kombination in Beschleunigern reserviert, sodass die Apps sie nicht ohne Tricks verwenden können (wie Pidgin): bugzilla.gnome.org/show_bug.cgi?id=123994 .
Davor Cubranic
1
Außerdem hat jemand eine Problemumgehung mit gnome-terminal mithilfe von "& lt; Primär & gt; Tab" und "& lt; Primär & gt; & lt; Umschalt & gt; Tab" gefunden: bugs.launchpad.net/ubuntu/+source/gnome-terminal/+bug/162000/… . Könnte so etwas auch in xfce-terminal verwendet werden, frage ich mich?
Davor Cubranic