Wie liste ich die verwendeten Compiz-Tastenkombinationen auf?

16

Abgesehen davon, dass Sie jedes aktive Plugin durchsuchen und manuell nach Tastenkombinationen / Tastaturkürzeln suchen, die von compiz verwendet werden, gibt es eine "einfache" Möglichkeit, diese Informationen zu sammeln?

Dies sind einige Bedienfelder, in denen alle derzeit verwendeten (von compiz) aktiven Tastenkombinationen angezeigt werden, oder einige Terminalbefehle, um dies zu tun.

Tastaturkürzel werden nicht angezeigt, um bestimmte Compiz-Verknüpfungen aufzulisten.

Vielen Dank

Jay_11
quelle

Antworten:

12

Hier ist ein (sehr langer) Einzeiler, der alle Verknüpfungen aller aktiven Plugins zurückgibt:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|sed "s/\[\|\]//g"|sed "s/,/ /g"); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done; echo -e "\n# metacity overrides:"; gconftool-2 -a /apps/metacity/global_keybindings | grep -v "disabled\|cycle\|switch_panels" | sort; gconftool-2 -a /apps/metacity/window_keybindings | grep -v "disabled" | sort

Update : In der
obigen Version werden jetzt alle nicht leeren / deaktivierten Tastenkombinationen (Taste, Maus, Taste + Maus) von allen aktiven Plugins abgerufen.

Der Wert des Schlüssels X-GNOME-WMSettingsModule in /usr/share/applications/compiz.desktop bewirkt jedoch, dass Metacity mehrere Compiz-Schlüssel überschreibt. Sie werden die kursiven Bezeichnungen in bemerken ccsm- in diesem Fall stammt der Wert von Metacity und nicht von Compiz.

Da ich keine einfache Möglichkeit gefunden habe, dies zu beheben, habe ich einfach alle Metacity-Verknüpfungen am Ende der Ausgabe hinzugefügt.

Drehmoment
quelle
1
Das scheint den Job sehr gut zu machen, danke. Obwohl show_desktop_key = <Control> <Alt> d zurückgegeben wird, und nicht <super> d, wie ich es neu definiert habe.
Jay_11
Nun, das ist komisch ... Ändern der Wand "left_key" ändert "/ apps / metacity / global_keybindings / switch_to_workspace_left" stattdessen. Scheint, dass einige Tastenkombinationen, die Sie in Compiz ändern, auf Metacity eingestellt sind? Das würde die Aufgabe etwas schwieriger machen. : - /
htorque
Danke für das Update. Nun wird der geänderte Wert für "Desktop anzeigen" unter "# Metacity Overrides" angezeigt: - Sehr gute Arbeit. Nochmals vielen Dank.
Jay_11
Da es dort mehrere Befehle gibt, sollten Sie, wenn Sie die Ausgabe in einer Datei speichern möchten, das Ganze in Parens einschließen und die Ausgabe nach dem abschließenden Paren umleiten.
Nealmcb
1
Dies funktioniert ab 14.04 nicht mehr:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Jonathan Hartley
1

Sie müssen nicht zwei sed-Skripte verketten, sie können eins sein, getrennt durch ';'. Aber noch einfacher wäre es, nach tr zu leiten. Für 12.04 ohne Metacity sollte dies sein:

for i in $(gconftool-2 --get /apps/compiz-1/general/screen0/options/active_plugins|tr '[],' ' '); do echo "# $i:"; gconftool-2 -a /apps/compiz-1/plugins/"$i"/screen0/options | grep "_key\|_button\|trigger_\|initiate\ \|panel_first_menu\|keyboard_focus\|execute_command\|show_launcher" | grep -v "Disabled\|=[[:space:]]*$" | sort; done

Wie Jay_11 jedoch bereits bemerkte, scheint das gesamte Konstrukt einen Teil dessen zu zeigen, was in compiz enthalten ist, nicht das Ergebnis. ZB verstehe ich close_window_key = <Alt>F4, aber ich habe das ausgeschaltet. Als begeisterter Emacs-Benutzer lasse ich keinen Fenstermanager in die Nähe von etwas anderem <Super>, aber das wird nicht angezeigt!

Es bleibt also die Frage: Was macht compiz wirklich?

Daniel
quelle