Можно ли использовать только клавиши со стрелками, чтобы развернуть узел дерева в проводнике пакетов в Eclipse в Linux? - PullRequest
68 голосов
/ 20 января 2011

При использовании Eclipse я многократно просматриваю дерево проводника пакетов, используя стрелки на клавиатуре.

В Windows я могу развернуть свернутый узел, нажав клавишу & rarr; . В Linux мне нужно нажать Shift + & rarr; . Есть ли способ перенастроить это так, чтобы Shift не требовалось?

Ответы [ 6 ]

110 голосов
/ 18 ноября 2011

Поместите это в свой ~/.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, чтобы применить новые привязки

30 голосов
/ 08 августа 2014

Если кому-то интересно, как это сделать с 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;
}
17 голосов
/ 11 сентября 2015

Моя версия для 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;
}
12 голосов
/ 01 мая 2012

Андрей дал правильный ответ. Обратите внимание, что в более новых версиях Ubuntu нет файла ~ / .gtkrc-2.0, поэтому вы можете создать его или отредактировать gtkrc вашей текущей темы, которая хранится в

/ USR / доли / темы / your_theme / GTK-2,0 / gtkrc

2 голосов
/ 21 января 2011

Навигация по дереву виджета управляется лежащим в основе инструментарием виджета - GTK.SWT / Eclipse не контролирует его.Если для изменения ярлыка требуется какая-либо такая конфигурация, то она должна быть выполнена с самой стороны GTK.

1 голос
/ 05 апреля 2019

Я пытался использовать ответ @ Андрея Лазарева . Однако из-за не обратно совместимого изменения в 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-bindings и GtkTreeView переименованы в treeview.

...