Jak wyświetlić listę używanych skrótów klawiszowych Compiz?

16

Czy oprócz szukania każdej aktywnej wtyczki i ręcznego wyszukiwania skrótów klawiszowych / skrótów klawiaturowych używanych przez compiz, istnieje „prosty” sposób na zebranie tych informacji?

tj. jakiś panel, który wyświetla wszystkie aktualnie aktywne skróty klawiszowe w użyciu (przez compiz), lub jakieś polecenie terminala, aby zrobić to samo.

Skróty klawiaturowe nie wydają się wyświetlać niektórych określonych skrótów kompizujących.

Dzięki

Jay_11
źródło

Odpowiedzi:

12

Oto (bardzo długi) jeden wiersz, który zwraca wszystkie skróty ze wszystkich aktywnych wtyczek:

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

Aktualizacja :
Powyższa wersja pobiera teraz wszystkie niepuste / wyłączone skróty klawiszowe (klawisz, mysz, klawisz + mysz) ze wszystkich aktywnych wtyczek.

Jednak wartość klucza X-GNOME-WMSettingsModule w /usr/share/applications/compiz.desktop powoduje, że Metacity zastępuje kilka kluczy Compiz. Zauważysz kursywa w ccsm- wtedy wartość pochodzi od Metacity, a nie od Compiz.

Ponieważ nie znalazłem łatwego sposobu, aby to naprawić, po prostu dodałem wszystkie skróty Metacity na końcu danych wyjściowych.

htorque
źródło
1
Dzięki, wygląda na to, że dobrze się spisuje. Mimo że zwraca show_desktop_key = <Control> <Alt> d, zamiast <super> d, ponieważ go przedefiniowałem.
Jay_11
To dziwne ... zmiana ściany zamiast tego „left_key” zmiany ”/ apps / metacity / global_keybindings / switch_to_workspace_left”. Czy niektóre skróty klawiaturowe, które zmieniasz w Compiz, są ustawione na metacity? Utrudniłoby to zadanie. : - /
htorque
Dziękuję za aktualizację. Teraz pokazuje zmodyfikowaną wartość dla ujawnienia pulpitu w ramach przesłonięcia # metacity: - Bardzo dobra robota, jeszcze raz dziękuję.
Jay_11
Zauważ, że ponieważ jest tam wiele poleceń, jeśli chcesz zapisać dane wyjściowe w pliku, powinieneś owinąć to wszystko w parens i przekierować dane wyjściowe po paren końcowym.
nealmcb
1
To nie działa już od 14.04:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Jonathan Hartley
1

Nie musisz łączyć 2 skryptów sed, mogą to być jeden, oddzielone znakiem „;”. Ale jeszcze prostsze byłoby potokowanie do tr. Dla 12.04 bez metacity powinno to być:

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

Jednak, jak już zauważył Jay_11, cała konstrukcja wydaje się pokazywać część tego, co wchodzi w compiz, a nie wynik. Np. Rozumiem close_window_key = <Alt>F4, ale to wyłączyłem. Jako zapalony użytkownik Emacsa nie pozwalam menedżerowi okien zbliżyć się do niczego innego <Super>, ale to nie pokazuje!

Pozostaje więc pytanie: co tak naprawdę robi compiz?

Daniel
źródło