Кроме просмотра каждого активного плагина и ручного поиска сочетаний клавиш / сочетаний клавиш, используемых compiz, существует ли «простой» способ сбора этой информации?
, т.е. Некоторая панель, которая отображает все используемые в данный момент активные сочетания клавиш (compiz), или некоторая команда терминала, чтобы сделать то же самое.
Сочетания клавиш не отображаются в списке определенных сочетаний клавиш.
Благодаря
Вот (очень длинная) острота, которая возвращает все ярлыки от всех активных плагинов:
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
Обновление:
Выше версии теперь получает все non-empty/disabled привязки клавиш (ключ, мышь, key+mouse) от всех активных плагинов.
Однако значение ключевого X-GNOME-WMSettingsModule в/usr/share/applications/compiz.desktop заставляет Метагород переопределить несколько ключей Compiz. Вы заметите курсивные маркировки в ccsm
- именно тогда значение прибывает из Метагорода и не Compiz.
Поскольку я не нашел простого способа зафиксировать это, я просто добавил все Метагородские ярлыки в конец вывода.
Вам не нужно связывать 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?