Как перечислить используемые сочетания клавиш Compiz?

16

Кроме просмотра каждого активного плагина и ручного поиска сочетаний клавиш / сочетаний клавиш, используемых compiz, существует ли «простой» способ сбора этой информации?

т.е. какая-то панель, которая отображает все используемые в настоящее время активные сочетания клавиш (compiz), или некоторая команда терминала, чтобы сделать то же самое.

Сочетания клавиш не отображаются в списке определенных сочетаний клавиш.

Благодарность

Jay_11
источник

Ответы:

12

Вот (очень длинная) однострочная строка, которая возвращает все ярлыки от всех активных плагинов:

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

Обновление :
выше версии теперь получает все непустые / отключенные сочетания клавиш (клавиша, мышь, клавиша + мышь) из всех активных плагинов.

Однако значение ключа X-GNOME-WMSettingsModule в /usr/share/applications/compiz.desktop заставляет Metacity переопределить несколько ключей Compiz. Вы заметите метки курсивом ccsm- вот когда ценность исходит от Metacity, а не от Compiz.

Поскольку я не нашел простого способа исправить это, я просто добавил все ярлыки Metacity в конец вывода.

htorque
источник
1
Это, кажется, делает работу очень хорошо, спасибо. Хотя он возвращает show_desktop_key = <Control> <Alt> d, а не <super> d, как я его переопределил.
Jay_11
Теперь это странно ... изменение стены "left_key" вместо этого "/ apps / metacity / global_keybindings / switch_to_workspace_left". Кажется, некоторые сочетания клавиш, которые вы меняете в Compiz, установлены для метасити? Это сделало бы задачу немного сложнее. : - /
htorque
Спасибо за обновление. Теперь показывает измененное значение для открытия рабочего стола под переопределением # metacity: - Очень хорошая работа, еще раз спасибо.
Jay_11
Обратите внимание, что, поскольку там есть несколько команд, если вы хотите сохранить выходные данные в файл, вы должны обернуть все это в скобки и перенаправить вывод после завершающей скобки.
nealmcb
1
Это больше не работает с 14.04:No value set for /apps/compiz-1/general/screen0/options/active_plugins
Джонатан Хартли
1

Вам не нужно связывать 2 сценария sed, они могут быть одним, разделенными символом ';'. Но еще проще было бы пускать в тру. Для 12.04 без метагорода это должно быть:

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

Однако, как уже отмечал Jay_11, вся конструкция, кажется, показывает часть того, что входит в compiz, а не результат. Например, я получаю close_window_key = <Alt>F4, но я выключил это. Как заядлый пользователь Emacs, я не позволяю оконному менеджеру приблизиться ни к чему, кроме этого <Super>, но это не видно!

Таким образом, остается вопрос: что на самом деле делает compiz?

Даниил
источник