如何列出正在使用的Compiz键绑定?
除了查看每个活动插件并手动搜索compiz使用的键绑定/键盘快捷键之外,是否有一种“简单”的方式来收集此信息?
即某些面板显示正在使用的所有当前活动的键绑定(通过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
更新 :
以上版本现在从所有活动插件获取所有非空/禁用键绑定(键,鼠标,键+鼠标)。
但是,/ usr / share / applications / compiz.desktop中的密钥X-GNOME-WMSettingsModule的值使Metacity覆盖多个Compiz密钥。 你会注意到ccsm
的斜体标签 – 当值来自Metacity而不是Compiz时。
由于我发现没有简单的方法来解决这个问题,我只是将所有Metacity快捷方式添加到输出的末尾。
您不需要链接2个sed脚本,它们可以是一个,用’;’分隔。 但更简单的是管道到tr。 对于没有韧性的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 =
,但我把它关了。 作为狂热的Emacs用户,除了
之外,我不会让窗口管理器接近任何东西,但这并不显示!
所以问题仍然存在:compiz真正在做什么?