web-dev-qa-db-ja.com

使用中のCompizキーバインドをリストする方法は?

アクティブな各プラグインを確認し、compizが使用しているキーバインディング/キーボードショートカットを手動で検索する以外に、この情報を収集する「簡単な」方法はありますか?

すなわち、(compizによって)使用中のすべての現在アクティブなキーバインドを表示するパネル、または同じことを行うための端末コマンド。

特定のcompizショートカットを一覧表示するキーボードショートカットは表示されません。

ありがとう

15
Jay_11

すべてのアクティブなプラグインからすべてのショートカットを返す(非常に長い)ワンライナーは次のとおりです。

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

更新
上記のバージョンは、すべてのアクティブなプラグインからall空でない/無効なキーバインド(キー、マウス、キー+マウス)を取得するようになりました。

ただし、キーの値X-GNOME-WMSettingsModulein/ usr/share/applications/compiz.desktop Metacityが複数のCompizキーをオーバーライドします。 ccsmにイタリック体のラベルが付いていることに気付くでしょう。これは、CompizではなくMetacityから値が取得されるときです。

これを簡単に修正する方法が見つからなかったため、出力の最後にすべてのMetacityショートカットを追加しました。

12
htorque

2つのsedスクリプトを連結する必要はありません。「;」で区切られた1つのスクリプトを使用できます。しかし、さらに単純なのは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 = <Alt>F4を受け取りますが、それをオフにしました。熱心なEmacsユーザーとして、私はウィンドウマネージャーに<Super>以外のものに近づけさせませんが、これは表示されません!

質問は残ります:compizは実際に何をしているのですか?

1
Daniel