web-dev-qa-db-ja.com

Gnome3のAlt + Tabアプリケーションスイッチャーで矢印のキーバインドを変更する

Gnome 3では、dconf-editorと入力して、多くの設定をナビゲートできます。とりわけ、/org/gnome/desktop/wm/keybindings/に移動して、Alt + Tabでアプリケーションスイッチャーが表示されることを確認できます。アプリケーションスイッチャーのキーバインドを変更したり、既存のキーバインドに加えて新しいキーバインドを追加したりすることもできます。ただし、アプリケーションスイッチャーが開いたら、Altキーを押したまま、矢印を使用してその中を移動できます。矢印に加えてカスタムキーマッピングhjklを追加したいのですが、dconf-editorのどこにもこのキーマッピングが見つかりません(はい、実際に全体を調べましたが、しませんでした) tそれを見つける)。これらの設定がどこにあるか誰か知っていますか?

ありがとう。

1
sigvaldm

私は、Gnomeソースコードの変更すら含まないこの問題の解決策を自分で考え出しました。それは私が最初に探したものではありませんが、おそらく同じように機能します。 dconf-editor/org/gnome/dekstop/wm/keybindings/で次の2つの設定を変更しました。

switch-applications=['<Super>Tab', '<Alt>Tab', '<Alt>l']
switch-applications-backward=['<Shift><Super>Tab', '<Shift><Alt>Tab', '<Alt>h']

最初の2つのキーバインディングはGnomeのデフォルトですが、最後のキーバインディングは私が追加したものです。もちろん、これには、<Alt>hまたは<Alt>lを押すたびにアプリケーションスイッチャーが表示されるという(最初は意図しない)副作用がありますが、以前は何にも使用されていなかったため、これはおそらく正当な行動。

編集:

提案されたソリューションはかなりうまく機能します!私はそれを少しテストしましたが、それは私のワークフローに適しています(Vimユーザーであるため、ほぼすべてにhjklを使用します)。ただし、少し「ストレステスト」を行ったところ、2つの小さな矛盾が見つかりました。これは、switch-applications*イベントがアプリケーションの矢印にハードコードされているイベントと実際には同じではないためです。スイッチャー。まず、最近提案された<Alt>Left<Alt>Rightとは異なり、<Alt>h<Alt>lは、アプリケーションスイッチャーがまだ存在しない場合は起動しません。彼らがすべきデフォルトの振る舞いの自然な拡張のように私には思えます。これは次のように修正できます。

switch-applications=['<Super>Tab', '<Alt>Tab', '<Alt>l', '<Alt>Right']
switch-applications-backward=['<Shift><Super>Tab', '<Shift><Alt>Tab', '<Alt>h','<Alt>Left']

次に、<Super>Tabは、Gnomeの<Alt>Tabの代わりに(および同様にShiftキーを使用して)使用できます。 <Super>l(またはh)はswitch-applications*にマップされていないため、この場合、hまたはlの使用は機能しません。これを追加するのは簡単ですが、デフォルトではウィンドウの最小化と画面のロックにマップされているため、これらのキーバインドを削除する必要があることに注意してください。また、<Super>Leftおよび<Super>Rightは、画面の左/右部分のタイル型ウィンドウにマップされます。これらにVimスタイルのhjklを再度使用する場合は、<Super>l(およびh)を使用できる3つのものがあるため、選択する必要があります( 'アプリケーションスイッチャーのソースコード編集の準備ができています)。

ちなみに、GnomeでVimキーバインディングを使用することに興味がある人のために、Gitリポジトリの https://github.com/sigvaldm/gnome-dconf でより完全なキーバインディングのセットを維持しています。

3
sigvaldm