You are not logged in.

#1 2009-02-27 09:45:42

SilentMan
Member
From: Ukraine
Registered: 2007-09-20
Posts: 41

GTK theme, FF buttons problem

Hello,

I recently moved to Macchiato gtk theme, which is very nice. Sadly it has a problem with Firefox/Thunderbird buttons that I'm unable to fix. Explained by images:

no mouse over button:
nomouse.png
(if you look closer, you'll see that text is barely visible, but bg/fg colors are almost same)

mouse over button:
mouseon.png

I tried playing with gtkrc, no luck. I'm using gtk-engine-murrine svn as of Feb 26.
Help please.

gtkrc for convenience

# Macchiato
# by Jesse L. Kay
# Last revision: 29 December 2008

# Set GtkSettings color scheme property.
# This can be overriden (via an xsetting) with eg. the gnome-appearance-properties.
gtk_color_scheme = "fg_color:#323232\nbg_color:#D3CAAA\nbase_color:#DED4B3\ntext_color:#323232\nselected_bg_color:#9C9478\nselected_fg_color:#fff\ntooltip_bg_color:#ebeab8\ntooltip_fg_color:#323232"

style "murrine-default"
{
        ########
        # Style Properties
        ########
        GtkButton               ::child-displacement-x = 1
        GtkButton               ::child-displacement-y = 1
        GtkButton               ::default-border       = { 0, 0, 0, 0 }
        GtkCheckButton  ::indicator-size       = 14

        GtkPaned                ::handle-size          = 6

        GtkRange                ::trough-border        = 1
        GtkRange                ::slider-width         = 8
        GtkRange                ::stepper-size         = 13

        GtkScale                ::slider-length        = 14
        GtkScale                ::slider-width         = 8
        GtkScale                ::stepper-size  = 13
        GtkScale                ::trough-side-details  = 0
        GtkScrollbar    ::min-slider-length    = 30

        GtkMenuBar              ::internal-padding     = 0
        GtkExpander             ::expander-size        = 16
        GtkToolbar              ::internal-padding     = 1
        GtkTreeView             ::expander-size        = 12
        GtkTreeView             ::vertical-separator   = 0

        GtkOptionMenu   ::indicator-size = 0

        GtkMenu                 ::horizontal-padding   = 0
        GtkMenu                 ::vertical-padding     = 0

    GtkScrolledWindow::scrollbar-spacing  = 3
    
    GtkNotebook::tab-curvature = 3
    GtkNotebook::tab-overlap = 4

        # Glow the tasklist by changing the color, instead of overlaying it with a rectangle
        WnckTasklist   ::fade-overlay-rect = 0
    #WnckTasklist   ::fade-loop-time = 5.0
    #WnckTasklist   ::fade-opacity = 0.7

        xthickness = 1
        ythickness = 1


        fg[NORMAL]        = @fg_color
        fg[PRELIGHT]      = @fg_color
        fg[SELECTED]      = @selected_fg_color
        fg[INSENSITIVE]   = darker (@bg_color)
        fg[ACTIVE]        = shade (0.60, @fg_color) #pidgin tabs, unselected tabs

        bg[NORMAL]                      =  @bg_color
        bg[ACTIVE]                      =  shade (0.60, @bg_color)
        bg[PRELIGHT]            =  shade (0.6, @bg_color)
        bg[SELECTED]            =  @selected_bg_color
        bg[INSENSITIVE]         =  shade (1.03,@bg_color)

        base[NORMAL]      = @base_color
        base[PRELIGHT]    = @base_color
        base[SELECTED]    = @selected_bg_color
        base[INSENSITIVE] = @bg_color
        base[ACTIVE]      = @selected_bg_color

        text[NORMAL]      = @text_color
        text[PRELIGHT]    = @text_color
        text[SELECTED]    = @selected_fg_color
        text[INSENSITIVE] = @text_color
        text[ACTIVE]      = @text_color

  # window background
  bg_pixmap[NORMAL] = "window-bg.png"

        engine "murrine" 
                {
                animation           = TRUE  # FALSE = disabled, TRUE = enabled
                colorize_scrollbar  = TRUE # FALSE = disabled, TRUE = enabled
                contrast            = 0.8   # 0.8 for less contrast, more than 1.0 for more contrast on borders
                glazestyle          = 0     # 0 = flat highlight, 1 = curved highlight, 2 = concave style, 3 = top curved highlight, 4 = beryl highlight
                gradient_shades     = {1.09,1.01,1.01,0.9} # default: {1.1,1.0,1.0,1.1}
                gradients           = TRUE  # FALSE = disabled, TRUE = enabled
                highlight_ratio     = 1.0  # set highlight amount for buttons or widgets
                lightborder_ratio   = 1.3   # sets lightborder amount for buttons or widgets
                lightborderstyle    = 1     # 0 = lightborder on top side, 1 = lightborder on all sides
                listviewheaderstyle = 2     # 0 = flat, 1 = glassy, 2 = raised
                listviewstyle       = 1     # 0 = nothing, 1 = dotted
                menubaritemstyle    = 0     # 0 = menuitem look, 1 = button look
                menubarstyle        = 0     # 0 = flat, 1 = glassy, 2 = gradient, 3 = striped
                menuitemstyle       =0     # 0 = flat, 1 = glassy, 2 = striped
                menustyle           = 0     # 0 = no vertical menu stripe, 1 = display vertical menu stripe
                reliefstyle          = 0     # 0 = flat, 1 = inset, 2 = shadow
                rgba                 = TRUE  # FALSE = disabled, TRUE = enabled
                roundness           = 0     # 0 = squared, 1 = old default, more will increase roundness
                scrollbarstyle      = 0     # 0 = nothing, 1 = circles, 2 = handles, 3 = diagonal stripes, 4 = diagonal stripes and handles, 5 = horizontal stripes, 6 = horizontal stripes and handles
                sliderstyle         = 0     # 0 = nothing added, 1 = handles
                stepperstyle        = 1     # 0 = standard, 1 = integrated stepper handles, 2 = unknown
#               style               = MURRINE # engine style options: CANDIDO, CLEARLOOKS, MIST, MURRINE, NODOKA
                toolbarstyle        = 0     # 0 = flat, 1 = glassy, 2 = gradient
        }
}

style "murrine-wide"
{
        xthickness = 2
        ythickness = 2
}

style "murrine-wider"
{
        xthickness = 3
        ythickness = 3
}

style "murrine-dark"
{
        bg[NORMAL]      = shade(0.2,@bg_color)
        bg[SELECTED]    = shade(0.9,@selected_bg_color)
        bg[PRELIGHT]    = shade (0.5, @selected_bg_color)
        bg[ACTIVE]      = mix (0.5, @selected_bg_color, shade(0.2,@bg_color))
        bg[INSENSITIVE] = shade(0.2,@bg_color)
        
        
        fg[NORMAL] = mix (0.9,  '#ffffef', @fg_color)
        fg[PRELIGHT] = mix (0.8,  '#ffffef', @fg_color)
        fg[SELECTED] = mix (0.8,  '#ffffef', @fg_color)
        fg[ACTIVE] = mix (0.8,  '#ffffef', @fg_color)
        fg[INSENSITIVE] = mix (0.9,  '#ffffef', @fg_color)      
}

style "murrine-button"
{
        xthickness   = 3
        ythickness   = 3

        text[NORMAL] = "#000000"
        text[PRELIGHT] = shade (0.20, @bg_color)
        text[ACTIVE] = "#000000"

        bg[NORMAL]   = @bg_color
        bg[PRELIGHT] = shade (1.20, @bg_color)
        bg[ACTIVE]   =  @bg_color
        fg[NORMAL]   = @bg_color

}


style "murrine-toolbar" = "murrine-dark"
{       
        bg[SELECTED] = "#363330"
        bg[NORMAL]   = "#363330"
        bg[PRELIGHT] = "#363330"
        bg[ACTIVE]   = "#363330"

        
        engine "murrine"{
                gradient_shades = {1.0,0.9,0.9,0.75}
                profile = MURRINE
        }
}


style "murrine-notebook-bg" = "murrine-default"
{
        bg[NORMAL] = shade (1.05, @bg_color)
        bg[ACTIVE] = shade (0.95, @bg_color)
        xthickness = 2
}

style "murrine-notebook" = "murrine-notebook-bg"
{
        xthickness = 2
}

style "murrine-tasklist"
{
        xthickness = 3
        ythickness = 3
}

style "murrine-panel" = "murrine-dark" {
        xthickness = 3
        ythickness = 3
        bg[NORMAL]        = "#4D453F"
        bg[PRELIGHT]     = shade (0.5, @bg_color)
        bg[ACTIVE]       = "#45413E"
        fg[NORMAL]        = @bg_color
        fg[PRELIGHT]      = @bg_color
        fg[ACTIVE]        = @bg_color
        engine "murrine" {
        roundness = 1
        rgba = TRUE
        highlight_ratio = 1.0
        reliefstyle         = 2
        contrast = 0.8
        }
}

style "murrine-menu" = "murrine-dark"
{
        xthickness = 3
        ythickness = 3

        bg[NORMAL]   = "#363330"
        text[NORMAL] = @bg_color
        text[PRELIGHT]  = @selected_fg_color
}

style "murrine-menu-item" = "murrine-dark"
{
        xthickness = 3
        ythickness = 3

        bg[NORMAL]   = "#363330"

        engine "murrine" {
            roundness = 0
            contrast = 0.2
        }
}

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

style "murrine-treeview"
{
}

# Based on the default style so that the colors from the button
# style are overriden again.
style "murrine-treeview-header" = "murrine-button"
{
        xthickness = 2
        ythickness = 1
    
    GtkWidget::focus-line-width = 0
    
        engine "murrine" {
        }
}

# SZ07: This is added to tell the theme how to color checkmarks and radio items that are not in menus.
style "murrine-radiocheck" = "murrine-default"
{
        text[NORMAL]    = shade (1.15, @bg_color) # Color for checks/radio items.
        text[PRELIGHT]  = @selected_fg_color    # Color for selected checks/radio items.
        engine "murrine"{
        }
}

style "murrine-tooltips"
{
        xthickness = 4
        ythickness = 4

        bg[NORMAL] = @tooltip_bg_color
        fg[NORMAL] = @tooltip_fg_color
}

style "murrine-progressbar"
{
        xthickness = 1
        ythickness = 1

        fg[PRELIGHT] = @selected_fg_color
        bg[SELECTED]            =  "#9C9478"

}


style "murrine-comboboxentry" 
{
}

style "murrine-spinbutton"
{
}

style "murrine-scale"
{
        bg[PRELIGHT] = shade(0.9,@bg_color)
}

style "murrine-hscale" = "murrine-scale"
{
}

style "murrine-vscale" = "murrine-scale"
{
}


style "murrine-scrollbar"
{

        bg[NORMAL]        = shade (1.0, @bg_color)
        
        engine "murrine" {
        #highlight_ratio = 1.3
        scrollbar_color = "#9C9478"
        #glazestyle = 0
        roundness = 1
        rgba = FALSE
        }

        GtkRange       ::trough-border        = 3

}

style "murrine-hscrollbar" = "murrine-scrollbar"
{
}

style "murrine-vscrollbar" = "murrine-scrollbar"
{
}

style "murrine-menubar" = "murrine-dark"
{
        bg[NORMAL]   = "#363330"
        engine "murrine"{
                gradient_shades = {1.0,0.9,0.9,0.75}
        }
}

style "murrine-frame"
{
        #Uncomment for dark statusbars. Breaks some apps.
        bg[ACTIVE] = shade(0.2,@bg_color)
        fg[NORMAL] = mix (1.5, @fg_color, '#ffffff')
        fg[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}

style "murrine-frame-title" = "murrine-frame"
{
        fg[NORMAL] = lighter (@fg_color)
}

style "murrine-nautilus-location"
{
        bg[NORMAL] = mix(0.60, shade (1.05,@bg_color), @selected_bg_color)
}

#########################################
# Matches
#########################################

# murrine default style is applied to every widget
class "GtkWidget"    style "murrine-default"

# Increase the x/ythickness in some widgets
class "GtkRange"     style "murrine-default"
class "GtkFrame"     style "murrine-frame"
class "GtkSeparator" style "murrine-wide"
class "GtkEntry"     style "murrine-wider"
class "GtkStatusbar" style "murrine-default"
class "GtkToolbar"   style "murrine-toolbar" 
class "GtkMenuBar"   style:highest "murrine-menubar"
class "*HandleBox" style "murrine-toolbar"
widget_class "*HandleBox" style "murrine-toolbar"

class "GtkSpinButton"  style "murrine-spinbutton"
class "GtkScale"       style "murrine-scale"
class "GtkVScale"      style "murrine-vscale"
class "GtkHScale"      style "murrine-hscale"
class "GtkScrollbar"   style "murrine-scrollbar"
class "GtkVScrollbar"  style "murrine-vscrollbar"
class "GtkHScrollbar"  style "murrine-hscrollbar"
class "GtkButton"      style "murrine-button"
class "GtkRadioButton*" style "murrine-radiocheck"      # SZ07: Added for the checkmarks/radio
class "GtkCheckButton"  style "murrine-radiocheck"      # SZ07: Added for the checkmarks/radio

# General matching following, the order is choosen so that the right styles override each other
# eg. progressbar needs to be more important then the menu match.

widget_class "*<GtkNotebook>*<GtkEventBox>"     style "murrine-notebook-bg"
widget_class "*<GtkStatusbar>*" style "murrine-wider"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "murrine-notebook-bg"
widget_class "*<GtkNotebook>*<GtkLayout>"       style "murrine-notebook-bg"
widget_class "*<GtkNotebook>"    style "murrine-notebook"

widget_class "*<GtkComboBoxEntry>*" style "murrine-comboboxentry"
widget_class "*<GtkCombo>*"         style "murrine-comboboxentry"

widget_class "*<GtkMenu>*"              style "murrine-menu"
widget_class "*<GtkMenuItem>*"          style "murrine-menu-item"
widget_class "*<GtkSeparatorMenuItem>*" style "murrine-separator-menu-item"

widget_class "*<GtkFrame>"  style "murrine-frame"
widget_class "*.<GtkFrame>.<GtkLabel>" style "murrine-frame-title"
widget_class "*.<GtkTreeView>*"        style "murrine-treeview"

widget_class "*<GtkStatusbar>*"  style "murrine-wider"
widget_class "*<GtkProgressBar>"       style "murrine-progressbar"

# Treeview header
widget_class "*.<GtkTreeView>.<GtkButton>" style "murrine-treeview-header"
widget_class "*.<GtkCTree>.<GtkButton>"    style "murrine-treeview-header"
widget_class "*.<GtkList>.<GtkButton>"     style "murrine-treeview-header"
widget_class "*.<GtkCList>.<GtkButton>"    style "murrine-treeview-header"

widget_class "*<GtkToolbar>.*"   style "murrine-toolbar"

#Panel
widget "*PanelWidget*"                                  style "murrine-panel"
widget "*PanelApplet*"                                  style "murrine-panel"
widget "*fast-user-switch*"                             style "murrine-panel" # Workaround for Fast User Switch applet
class "PanelApp*"                                       style "murrine-panel"
class "PanelToplevel*"                                  style "murrine-panel"
#The panel menubar
widget_class "*Panel*<GtkMenuBar>*"                     style:highest "murrine-panel"

# The window of the tooltip is called "gtk-tooltip"
widget "gtk-tooltip*" style "murrine-tooltips"

###################################################
# Special cases and work arounds
###################################################

# Fixes toolbars inside frames. Will be overridden later.
style "murrine-toolbar-flat" = "murrine-default"
{
        xthickness = 3
        ythickness = 3
        engine "murrine"
        {
                toolbarstyle = 0
        }
}
widget_class "*.*.*.*.*.*Toolbar*"      style "murrine-toolbar-flat"
widget_class "*.*.*.*.*.*HandleBox*"    style "murrine-toolbar-flat"

#Undo for Epiphany (FIXME find a better way to do this)
#widget_class "*EphyToolbar*"   style "pixmap-toolbar"
#widget_class "*EphyToolbar*.*.*.*"     style "murrine-toolbar"

# Workarounds for Evolution
widget_class "*.ETable.ECanvas"    style "murrine-treeview-header"
widget_class "*.ETree.ECanvas"    style "murrine-treeview-header"

#Firefox isn't nice to dark themes, so unset the dark stuff.
#widget "MozillaGtkWidget*Toolbar*"     style "murrine-default"
#widget "MozillaGtkWidget*Frame*"       style "murrine-default"

#Thunderbird too. But since Thunderbird uses the same theming engine as FF2, things are worse for us.

# 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 "murrine-nautilus-location"

# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
style "murrine-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)
}
widget_class "*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround"

style "murrine-text-is-fg-color-workaround-dark"
{
        #Make it work with this theme!
        text[NORMAL] = mix (1.5, @fg_color, '#ffffff')
        text[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}
widget_class "*Toolbar*.<GtkComboBox>.<GtkCellView>"   style "murrine-text-is-fg-color-workaround-dark"

style "murrine-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)
        #Make it work with this theme!
        text[NORMAL] = mix (1.5, @fg_color, '#ffffff')
        text[PRELIGHT] = mix (1.4, @fg_color, '#ffffff')
}
widget "*.gtk-combobox-popup-menu.*"   style "murrine-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 set.
style "murrine-fg-is-text-color-workaround"
{
        fg[NORMAL]      = @text_color
        fg[PRELIGHT]    = @text_color
        fg[ACTIVE]      = @selected_fg_color
        fg[SELECTED]    = @selected_fg_color
        fg[INSENSITIVE] = darker (@bg_color)
}
widget_class "*<GtkListItem>*" style "murrine-fg-is-text-color-workaround"
# The same problem also exists for GtkCList and GtkCTree
# Only match GtkCList and not the parent widgets, because that would also change the headers.
widget_class "*<GtkCList>" style "murrine-fg-is-text-color-workaround"

#Rhythmbox toolbar near the search entry. Use default + wide so that it doesn't turn dark.
style "murrine-rhythmbox-header" = "murrine-default"
{
        xthickness = 3
        ythickness = 3
        engine "murrine" {
        }
}
widget "*RBSourceHeader*"       style:highest "murrine-rhythmbox-header"
widget "*HeaderToolbar*"        style:highest "murrine-rhythmbox-header"
widget "*FooterToolbar*"        style:highest "murrine-rhythmbox-header"
widget "*swt*toolbar*"  style "murrine-default"

#Evolution toolbar
style "murrine-evo-new-button-workaround" = "murrine-dark"
{
        
        engine "murrine"
        {
                toolbarstyle = 0
        }
}

widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "murrine-evo-new-button-workaround"

# RSC: Fix for CPU frequency applet
style "applet-text" = "murrine-panel"
{
        fg[NORMAL] = @bg_color
}

widget_class "*CPUFreqApplet*" style:highest "applet-text"

Offline

Board footer

Powered by FluxBB