Как изменить интервал по вертикали в пунктах меню Gtk2 в Eclipse?

Я пытаюсь сделать пользовательский интерфейс Eclipse более компактным и уже успешно настроил его, используя эти инструкции:

Единственное, что я хотел бы улучшить, это уменьшить расстояние по вертикали между пунктами меню, как показано на этой картинке:

Элементы меню Eclipse.

Я просмотрел свойства стиля GtkMenuItem, но не могу найти никаких настроек для этого. GtkMenu::vertical-padding также не кажется правильным.

Есть ли какое-либо свойство виджета Gtk2, которое я могу изменить, чтобы сделать это?


person Roman    schedule 12.03.2017    source источник


Ответы (1)


В файле gtkrc вашей темы есть несколько настроек, которые вы можете изменить, чтобы сделать элементы меню более компактными:

  1. Чтобы уменьшить ширину и высоту элементов меню, вы можете назначить меньшее значение свойствам xthickness и ythickness соответственно (горизонтальное и вертикальное отступы соответственно между текстом и границей виджета). например

    style "menu_item" {
        xthickness = 1
        ythickness = 1
    }
    

    Приведенный выше фрагмент кода предполагает, что ваш виджет GtkMenuItem использует стиль под названием menu_item в файле gtkrc вашей темы. то есть

    widget_class "*<GtkMenuItem>*" style "menu_item"
    
  2. Высоту пункта меню-разделителя (строки, разделяющие пункты меню) можно уменьшить, присвоив меньшее значение свойству GtkWidget::separator-height. например

    style "separator_menu_item" {
        xthickness = 1
        ythickness = 1
    
        GtkSeparatorMenuItem::horizontal-padding = 0
        GtkWidget::wide-separators = 1
        GtkWidget::separator-width = 1
        GtkWidget::separator-height = 1
    }
    

    Опять же, приведенный выше фрагмент кода предполагает, что ваш виджет GtkSeparatorMenuItem использует стиль под названием separator_menu_item в файле gtkrc вашей темы. то есть

    widget_class "*<GtkSeparatorMenuItem>*" style "separator_menu_item"
    
person Stephen K. Karanja    schedule 09.06.2018
comment
Спасибо. Работает отлично! - person Roman; 26.06.2018