при обновлении gtk до последней версии приложения выглядят ужасно - PullRequest
1 голос
/ 29 ноября 2010

У меня ранее был установлен gtk 2.14.6, использующий его через python 2.5 с pygtk 2.12.Я просто скачал пакет gtk 2.22 и распаковал его, заменив старый.(Я не извлекал его поверх старой папки, я просто переместил старую папку и извлек новый пакет в том же месте).Тем не менее, то же самое приложение превратилось из очень похожего на родное приложение для Windows 7 в очень уродливое, неуклюжее ... больше похоже на тему Windows XP, но даже не имитировало это хорошо.Работа?Как я могу получить самую последнюю версию GTK (я обновил ее из-за проблем с нестабильностью), но у меня есть тема?И почему старая версия выглядела лучше, чем новая?

1 Ответ

3 голосов
/ 30 ноября 2010

В вашем дистрибутиве, в etc / gtk-2.0 / gtkrc, вы должны убедиться, что для "style" установлено значение "msw-default", а для двигателя установлено значение "wimp". Вот весь мой gtkrc, просто чтобы убедиться, что он у вас есть:

gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32"
gtk-toolbar-icon-size = small-toolbar

# disable images in buttons. i've only seen ugly delphi apps use this feature.
gtk-button-images = 1

# enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
# the office apps use them heavily, though.
gtk-menu-images = 1

# use the win32 button ordering instead of the GNOME HIG one, where applicable
gtk-alternative-button-order = 1

# use the win32 sort indicators direction, as in Explorer
gtk-alternative-sort-arrows = 1

# Windows users don't expect the PC Speaker beeping at them when they backspace in an empty textview and stuff like that
gtk-error-bell = 0

style "msw-default"
{
  GtkWidget::interior-focus = 1
  GtkOptionMenu::indicator-size = { 9, 5 }
  GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
  GtkSpinButton::shadow-type = in

  # Owen and I disagree that these should be themable
  GtkUIManager::add-tearoffs = 0
  #GtkComboBox::add-tearoffs = 0

  GtkComboBox::appears-as-list = 1
  GtkComboBox::focus-on-click = 0

  GOComboBox::add_tearoffs = 0

  GtkTreeView::allow-rules = 0
  GtkTreeView::expander-size = 12

  GtkExpander::expander-size = 12

  GtkScrolledWindow::scrollbar_spacing = 1

  GtkSeparatorMenuItem::horizontal-padding = 2

  engine "wimp" 
  {
  }

 }
class "*" style "msw-default"

binding "ms-windows-tree-view"
{
  bind "Right" { "expand-collapse-cursor-row" (1,1,0) }
  bind "Left" { "expand-collapse-cursor-row" (1,0,0) }
}

class "GtkTreeView" binding "ms-windows-tree-view"

style "msw-combobox-thickness" = "msw-default"
{
  xthickness = 0 
  ythickness = 0
}


widget_class "*TreeView*ComboBox*" style "msw-combobox-thickness"
widget_class "*ComboBox*GtkFrame*" style "msw-combobox-thickness"
...