Is it possible to use arrow keys alone to expand tree node in package explorer in Eclipse on Linux? Is it possible to use arrow keys alone to expand tree node in package explorer in Eclipse on Linux? linux linux

Is it possible to use arrow keys alone to expand tree node in package explorer in Eclipse on Linux?


Put this into your ~/.gtkrc-2.0 and you should be good to go. The Left and Right lines make the requested change, the rest are just my personal additions to make the tree-view act more vim-like. Hope that helps!

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"

then restart your Eclipse to apply new bindings


If anyone is wondering how to do this with GTK3 - simply open ~/.config/gtk-3.0/gtk.css and add the following:

@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;}


My version for GTK3 that behaves in more natural way.Add the following to ~/.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;}