开发者

updating gtk to latest version made apps look UGLY

I preivously had gtk 2.14.6 installed, using it through python 2.5 with pygtk 2.12. I just downloaded the gtk 2.22 bundle and extracted it, replacing the old one. (I didn't extract it over the old folder, I just moved the old folder and extracted the new bundle in the same place). However, the same app went from looking very much like a native Windows 7 app to looking very ugly, cl开发者_如何学Pythonunky.. more like a Windows XP theme but it didn't even mimic that well.

How does GTK theming work? How can I get the newest version of GTK (I updated due to instability issues), but have the theme? And why did the older version look better than the newer one?


In your distribution, in etc/gtk-2.0/gtkrc, you need to make sure that "style" is set to "msw-default" and engine set to "wimp". Here's my entire gtkrc, just to make sure you have it:

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"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜