web-dev-qa-db-ja.com

Linux上のEclipseのパッケージエクスプローラーで矢印キーだけを使用してツリーノードを展開することは可能ですか?

Eclipseを使用するときは、キーボードの矢印を頻繁に使用してパッケージエクスプローラーツリーを参照します。

Windowsでは、を押すことで折りたたまれたノードを展開できます  キー。 Linuxでは押す必要があります Shift。これを再構成して次のようにする方法はありますか Shift 必須ではありません?

69
Alb

これを~/.gtkrc-2.0に入れれば、うまくいくはずです。左と右の行は要求された変更を行い、残りはツリービューをよりvimのように動作させるための私の個人的な追加です。お役に立てば幸いです。

binding "gtk-binding-tree-view" {
    bind "j"        { "move-cursor" (display-lines, 1) }
    bind "k"        { "move-cursor" (display-lines, -1) }
    bind "h"        { "expand-collapse-cursor-row" (1,0,0) }
    bind "l"        { "expand-collapse-cursor-row" (1,1,0) }
    bind "o"        { "move-cursor" (pages, 1) }
    bind "u"        { "move-cursor" (pages, -1) }
    bind "g"        { "move-cursor" (buffer-ends, -1) }
    bind "y"        { "move-cursor" (buffer-ends, 1) }
    bind "p"        { "select-cursor-parent" () }
    bind "Left"     { "expand-collapse-cursor-row" (0,0,0) }
    bind "Right"    { "expand-collapse-cursor-row" (0,1,0) }
    bind "semicolon" { "expand-collapse-cursor-row" (0,1,1) }
    bind "slash"    { "start-interactive-search" () }
}
class "GtkTreeView" binding "gtk-binding-tree-view"

次に、Eclipseを再起動して、新しいバインディングを適用します

112
Andrew

GTK3でこれを行う方法を誰かが疑問に思っている場合は、~/.config/gtk-3.0/gtk.cssを開いて、以下を追加してください。

@binding-set MyTreeViewBinding
{
    bind "Left"     { "expand-collapse-cursor-row" (0,0,0) };
    bind "Right"    { "expand-collapse-cursor-row" (0,1,0) };
}

GtkTreeView
{
  gtk-key-bindings: MyTreeViewBinding;
}
30
big data nerd

より自然な方法で動作するGTK3の私のバージョン。以下を〜/ .config/gtk-3.0 /gtk.cssに追加します。

@binding-set MyTreeViewBinding
{
    bind "Left"     { "select-cursor-parent" ()
                      "expand-collapse-cursor-row" (0,0,0) };
    bind "Right"    { "expand-collapse-cursor-row" (0,1,0) };
}

GtkTreeView
{
    gtk-key-bindings: MyTreeViewBinding;
}
18
Andrew Lazarev

アンドリューによって提供された答えは正しいです。新しいバージョンのUbuntuには〜/ .gtkrc-2.0ファイルがないため、ファイルを作成するか、現在のテーマのgtkrcを編集することができます。

/usr/share/themes/your_theme/gtk-2.0/gtkrc

12
Sebastiano

@ Andrew Lazarevからの回答 を使おうとしました。ただし、GTK3.20での下位互換性のない変更( https://bugzilla.gnome.org/show_bug.cgi?id=766166 )のため、バインディングを少し調整する必要があります。

@binding-set MyTreeViewBinding
{
   bind "Left"     { "select-cursor-parent" ()
                  "expand-collapse-cursor-row" (0,0,0) };
   bind "Right"    { "expand-collapse-cursor-row" (0,1,0) };
}

treeview
{
   -gtk-key-bindings: MyTreeViewBinding;
}

-の前のgtk-key-bindingsGtkTreeViewの名前がtreeviewに変更されていることに注意してください。

2
YMomb

ツリーウィジェットのナビゲーションは、下にあるウィジェットツールキット(GTK)によって制御されます。 SWT/Eclipseはそれを制御できません。ショートカットを変更するためにそのような構成が必要な場合は、GTK側から作成する必要があります。

2
PinnamuR