From 0bfe9ea348b5719bc441a573141b26b7d9c4f0d0 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 26 Nov 2011 05:59:00 +0000 Subject: Mac integration. git-svn-id: http://svn.drobilla.net/lad/trunk/patchage@3641 a436a847-0d15-0410-975c-d299462d15a1 --- osx/bundleify.sh | 2 +- osx/gtkrc | 461 +++++++------------------------------------------------ 2 files changed, 56 insertions(+), 407 deletions(-) (limited to 'osx') diff --git a/osx/bundleify.sh b/osx/bundleify.sh index 9a49a78..220eb78 100755 --- a/osx/bundleify.sh +++ b/osx/bundleify.sh @@ -11,7 +11,7 @@ mkdir -p "$bundle/Contents/lib/modules" sed -i '' 's/GDK_CONTROL_MASK/GDK_META_MASK/' $bundle/Contents/patchage.ui # Copy GTK and pango modules to bundle -cp /opt/local/lib/gtk-2.0/2.10.0/engines/libclearlooks.so $bundle/Contents/lib/engines +cp /usr/local/lib/gtk-2.0/2.10.0/engines/libquartz.so $bundle/Contents/lib/engines cp /opt/local/lib/pango/1.6.0/modules/*basic*.so $bundle/Contents/lib/modules # Copy libraries depended on by the executable to bundle diff --git a/osx/gtkrc b/osx/gtkrc index 6df11b2..ba7477b 100644 --- a/osx/gtkrc +++ b/osx/gtkrc @@ -1,426 +1,75 @@ +# FIXME: What sizes should we have? +gtk-icon-sizes = "gtk-menu=16,16:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32" +gtk-toolbar-icon-size = small-toolbar -# Please keep this gtkrc in sync with the other ones from Clearlooks based themes. +gtk_color_scheme = "fg_color:#000\nbg_color:ededed\nbase_color:#fff\ntext_color:#1A1A1A\nselected_bg_color:#86ABD9\nselected_fg_color:#fff\ntooltip_bg_color:#F5F5B5\ntooltip_fg_color:#000" -gtk-color-scheme = "base_color:#ffffff\nfg_color:#000000\ntooltip_fg_color:#000000\nselected_bg_color:#86ABD9\nselected_fg_color:#ffffff\ntext_color:#1A1A1A\nbg_color:#EDECEB\ntooltip_bg_color:#F5F5B5" +gtk-button-images = 0 +gtk-menu-images = 0 +gtk-enable-mnemonics = 0 -style "default" { - xthickness = 1 - ythickness = 1 +style "quartz-default" +{ + xthickness = 0 + ythickness = 0 - ####################### - # Style Properties - ####################### - GtkButton::child-displacement-x = 1 - GtkButton::child-displacement-y = 1 - GtkButton::default-border = { 0, 0, 0, 0 } - GtkButton::image-spacing = 4 - GtkToolButton::icon-spacing = 4 + GtkWidget::interior-focus = 1 + GtkWidget::focus-line-width = 0 + GtkWidget::focus-padding = 0 - GtkCheckButton::indicator-size = 14 + GtkButton::default-border = { 0, 0, 0, 0 } + GtkButton::default-outside-border = { 0, 0, 0, 0 } + GtkButton::child-displacement-x = 0 + GtkButton::child-displacement-y = 0 - GtkPaned::handle-size = 6 + GtkCheckButton::indicator-spacing = 3 - GtkRange::trough-border = 0 - GtkRange::slider-width = 15 - GtkRange::stepper-size = 15 + #GtkOptionMenu::indicator-size = { 9, 5 } + #GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 } - GtkScale::slider-length = 23 - GtkScale::trough-side-details = 1 + # We have to set a shadow to get the whole box exposed + GtkSpinButton::shadow-type = out - GtkScrollbar::min-slider-length = 30 - GtkMenuBar::internal-padding = 0 - GtkExpander::expander-size = 16 - GtkToolbar::internal-padding = 1 - GtkTreeView::expander-size = 14 - GtkTreeView::vertical-separator = 0 + GtkComboBox::appears-as-list = 0 + GtkComboBox::focus-on-click = 0 - GtkMenu::horizontal-padding = 0 - GtkMenu::vertical-padding = 0 + GtkNotebook::tab-curvature = 4 + GtkNotebook::tab-overlap = 0 + + GtkTreeView::allow-rules = 1 + GtkTreeView::expander-size = 14 + GtkToolbar::internal-padding = 3 + GtkExpander::expander-size = 14 - WnckTasklist::fade-overlay-rect = 0 - # The following line hints to gecko (and possibly other appliations) - # that the entry should be drawn transparently on the canvas. - # Without this, gecko will fill in the background of the entry. - GtkEntry::honors-transparent-bg-hint = 1 + GtkScrolledWindow::scrollbar-spacing = 0 - GtkEntry::progress-border = { 2, 2, 2, 2 } + #GtkMenuItem::toggle-spacing = ... + GtkMenuItem::horizontal-padding = 8 + GtkSeparatorMenuItem::horizontal-padding = 2 - #################### - # Color Definitions - #################### - bg[NORMAL] = @bg_color - bg[PRELIGHT] = shade (1.02, @bg_color) - bg[SELECTED] = @selected_bg_color - bg[INSENSITIVE] = @bg_color - bg[ACTIVE] = shade (0.9, @bg_color) - - fg[NORMAL] = @fg_color - fg[PRELIGHT] = @fg_color - fg[SELECTED] = @selected_fg_color - fg[INSENSITIVE] = darker (@bg_color) - fg[ACTIVE] = @fg_color - - text[NORMAL] = @text_color - text[PRELIGHT] = @text_color - text[SELECTED] = @selected_fg_color - text[INSENSITIVE] = darker (@bg_color) - text[ACTIVE] = @selected_fg_color - - base[NORMAL] = @base_color - base[PRELIGHT] = shade (0.95, @bg_color) - base[SELECTED] = @selected_bg_color - base[INSENSITIVE] = @bg_color - base[ACTIVE] = shade (0.9, @selected_bg_color) - - engine "clearlooks" { - colorize_scrollbar = TRUE - reliefstyle = 1 - menubarstyle = 2 - toolbarstyle = 1 - animation = FALSE - radius = 3.0 - style = GUMMY - - # Set a hint to disable backward compatibility fallbacks. - hint = "use-hints" - } -} - -style "wide" { - xthickness = 2 - ythickness = 2 -} - -style "wider" { - xthickness = 3 - ythickness = 3 -} - -style "entry" { - xthickness = 3 - ythickness = 3 - - bg[SELECTED] = mix (0.4, @selected_bg_color, @base_color) - fg[SELECTED] = @text_color - - engine "clearlooks" { - focus_color = shade (0.65, @selected_bg_color) - } -} - -style "spinbutton" { - - engine "clearlooks" { - hint = "spinbutton" - } -} - -style "scale" { - xthickness = 2 - ythickness = 2 - - engine "clearlooks" { - hint = "scale" - } -} - -style "vscale" { - - engine "clearlooks" { - hint = "vscale" - } -} - -style "hscale" { - - engine "clearlooks" { - hint = "hscale" - } -} - -style "scrollbar" { - xthickness = 2 - ythickness = 2 - - engine "clearlooks" { - hint = "scrollbar" - } -} - -style "hscrollbar" { - - engine "clearlooks" { - hint = "hscrollbar" - } -} - -style "vscrollbar" { - - engine "clearlooks" { - hint = "vscrollbar" - } -} - -style "notebook_bg" { - - bg[NORMAL] = shade (1.02, @bg_color) -} - -style "button" { - xthickness = 3 - ythickness = 3 - - bg[NORMAL] = shade (1.04, @bg_color) - bg[PRELIGHT] = shade (1.06, @bg_color) - bg[ACTIVE] = shade (0.85, @bg_color) -} - -# The color is changed by the notebook_bg style, this style -# changes the x/ythickness -style "notebook" { - xthickness = 3 - ythickness = 3 -} - -style "statusbar" { - - engine "clearlooks" { - hint = "statusbar" - } -} - -style "comboboxentry" { - - engine "clearlooks" { - # Note: - # If you set the appears-as-list option on comboboxes in the theme, - # then you should set this hint on the combobox instead. - hint = "comboboxentry" - } -} - -style "menubar" { - - engine "clearlooks" { - hint = "menubar" - } -} - -style "menu" { - xthickness = 0 - ythickness = 0 - - bg[NORMAL] = shade (1.08, @bg_color) - - engine "clearlooks" { - radius = 0.0 - } -} - -style "menu_item" { - xthickness = 2 - ythickness = 3 - - fg[PRELIGHT] = @selected_fg_color -} - -# This style is there to modify the separator menu items. The goals are: -# 1. Get a specific height. -# 2. The line should go to the edges (ie. no border at the left/right) -style "separator_menu_item" { - xthickness = 1 - ythickness = 0 - - GtkSeparatorMenuItem::horizontal-padding = 0 - GtkWidget::wide-separators = 1 - GtkWidget::separator-width = 1 - GtkWidget::separator-height = 7 + engine "quartz" + { + } } +class "*" style "quartz-default" -style "frame_title" { - - fg[NORMAL] = lighter (@fg_color) +style "quartz-toolbar" +{ + xthickness = 3 + ythickness = 3 } +widget_class "*Toolbar*" style "quartz-toolbar" -style "treeview" { - - engine "clearlooks" { - hint = "treeview" - } +style "quartz-frame" +{ + xthickness = 2 + ythickness = 2 } +widget_class "*." style "quartz-frame" -# The almost useless progress bar style -style "progressbar" { - xthickness = 1 - ythickness = 1 - - fg[PRELIGHT] = @selected_fg_color - - engine "clearlooks" { - # Explicitly set the radius for the progress bars inside menu items. - radius = 3.0 - - hint = "progressbar" - } +style "quartz-scrolled-window" +{ + xthickness = 2 + ythickness = 2 } - -# This style is based on the default style, so that the colors from the button -# style are overriden again. -style "treeview_header" = "default" { - xthickness = 2 - ythickness = 1 - - engine "clearlooks" { - hint = "treeview-header" - } -} - -style "tooltips" { - xthickness = 4 - ythickness = 4 - - bg[NORMAL] = @tooltip_bg_color - fg[NORMAL] = @tooltip_fg_color -} - -style "nautilus_location" { - - bg[NORMAL] = mix (0.60, shade (1.05, @bg_color), @selected_bg_color) -} - -# Wrokaroudn style for places where the text color is used instead of the fg color. -style "text_is_fg_color_workaround" { - - text[NORMAL] = @fg_color - text[PRELIGHT] = @fg_color - text[SELECTED] = @selected_fg_color - text[ACTIVE] = @fg_color - text[INSENSITIVE] = darker (@bg_color) -} - -# Workaround style for menus where the text color is used instead of the fg color. -style "menuitem_text_is_fg_color_workaround" { - - text[NORMAL] = @fg_color - text[PRELIGHT] = @selected_fg_color - text[SELECTED] = @selected_fg_color - text[ACTIVE] = @fg_color - text[INSENSITIVE] = darker (@bg_color) -} - -# Workaround style for places where the fg color is used instead of the text color. -style "fg_is_text_color_workaround" { - - fg[NORMAL] = @text_color - fg[PRELIGHT] = @text_color - fg[SELECTED] = @selected_fg_color - fg[ACTIVE] = @selected_fg_color - fg[INSENSITIVE] = darker (@bg_color) -} - -# Style to set the toolbar to use a flat style. This is because the "New" button in -# Evolution is not drawn transparent. So if there is a gradient in the background it will -# look really wrong. -# See http://bugzilla.gnome.org/show_bug.cgi?id=446953. -style "evo_new_button_workaround" { - - engine "clearlooks" { - toolbarstyle = 0 - } -} - - -############################################################################### -# The following part of the gtkrc applies the different styles to the widgets. -############################################################################### - -# The default style is applied to every widget -class "GtkWidget" style "default" - -class "GtkSeparator" style "wide" -class "GtkFrame" style "wide" -class "GtkCalendar" style "wide" -class "GtkEntry" style "entry" - -class "GtkSpinButton" style "spinbutton" -class "GtkScale" style "scale" -class "GtkVScale" style "vscale" -class "GtkHScale" style "hscale" -class "GtkScrollbar" style "scrollbar" -class "GtkHScrollbar" style "hscrollbar" -class "GtkVScrollbar" style "vscrollbar" - -# General matching follows. The order is choosen so that the right styles override -# each other. EG. progressbar needs to be more important than the menu match. -widget_class "*" style "notebook_bg" -# This is not perfect, it could be done better. -# (That is modify *every* widget in the notebook, and change those back that -# we really don't want changed) -widget_class "**" style "notebook_bg" -widget_class "**" style "notebook_bg" -widget_class "**" style "notebook_bg" -widget_class "**" style "notebook_bg" -widget_class "**" style "notebook_bg" - -widget_class "*" style "button" -widget_class "*" style "notebook" -widget_class "**" style "statusbar" - -widget_class "**" style "comboboxentry" -widget_class "**" style "comboboxentry" - -widget_class "**" style "menubar" -widget_class "**" style "menu" -widget_class "**" style "menu_item" -widget_class "**" style "separator_menu_item" - -widget_class "*.." style "frame_title" -widget_class "*.*" style "treeview" - -widget_class "*" style "progressbar" - -# Treeview headers (and similar stock GTK+ widgets) -widget_class "*.." style "treeview_header" -widget_class "*.." style "treeview_header" -widget_class "*.." style "treeview_header" -widget_class "*.." style "treeview_header" - -# The window of the tooltip is called "gtk-tooltip" -################################################################## -# FIXME: -# This will not work if one embeds eg. a button into the tooltip. -# As far as I can tell right now we will need to rework the theme -# quite a bit to get this working correctly. -# (It will involve setting different priorities, etc.) -################################################################## -widget "gtk-tooltip*" style "tooltips" - -########################################################################## -# Following are special cases and workarounds for issues in applications. -########################################################################## - -# Workaround for the evolution ETable (bug #527532) -widget_class "*.." style "treeview_header" -# Workaround for the evolution ETree -widget_class "*.." style "treeview_header" - -# Special case the nautilus-extra-view-widget -# ToDo: A more generic approach for all applications that have a widget like this. -widget "*.nautilus-extra-view-widget" style : highest "nautilus_location" - -# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646 -# Note that this work around assumes that the combobox is _not_ in appears-as-list mode. -widget_class "*.." style "text_is_fg_color_workaround" -# This is the part of the workaround that fixes the menus -widget "*.gtk-combobox-popup-menu.*" style "menuitem_text_is_fg_color_workaround" - -# Work around the usage of GtkLabel inside GtkListItems to display text. -# This breaks because the label is shown on a background that is based on the base color. -widget_class "**" style "fg_is_text_color_workaround" -# GtkCList also uses the fg color to draw text on top of the base colors. -widget_class "*" style "fg_is_text_color_workaround" -# Nautilus when renaming files, and maybe other places. -widget_class "*" style "fg_is_text_color_workaround" - -# See the documentation of the style. -widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "evo_new_button_workaround" +widget_class "*." style "quartz-scrolled-window" -- cgit v1.2.1