ubuntu系统颜色更改

在ubuntu12.04下用eclipse或myeclipse做开发如果不更改主题的颜色的话,那就跟看着屎吃东西一样恶心。一坨又一坨的tooltip使你没有一点儿“胃口”去开发了。

废话少说,ubuntu12.04的所有主题在/usr/share/themes下面,我的主题是默认的(Ambiance),打开nautilus,找到/usr/share/themes/Ambiance/gtk-2.0/gtkrc文件,这个文件就是该主题所有的颜色参数。我懒得一点点的看这个文件,因为在fedora下myeclipse的颜色还可以,所以就把fedora下的gtkrc文件粘过来了。下面是这个文件的内容,读者可以直接复制下面的代码(或替换gtk-color-scheme的值)到gtkrc,不过建议首先将原来的gtkrc做个备份(sudo cp ./gtkrc ./gtkrc.bak)

(其实也可以只改动gtk-color-scheme中的 ***_color属性值【其中的 **tooltip**_color就是一坨黑的罪魁祸首】)

另外通过改动base_color可以定制编辑区的颜色,例如:

gtk-color-scheme中base_color:#CCE8CF可以达到如下效果:

185206_VgBU_578360.png

gtkrc文件内容如下:

# Please keep this gtkrc in sync with the other ones from Clearlooks based themes.

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:#E7F3FD"

gtk-auto-mnemonics = 1

style "default" {
    xthickness = 1
    ythickness = 1

    #######################
    # 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

    GtkCheckButton::indicator-size = 14

    GtkEntry::invisible-char = 0x2022

    GtkPaned::handle-size = 6

    GtkRange::trough-border = 0
    GtkRange::slider-width = 15
    GtkRange::stepper-size = 15

    GtkScale::slider-length = 23
    GtkScale::trough-side-details = 1

    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

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

    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

    GtkEntry::progress-border = { 2, 2, 2, 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 = 0
        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" {

        GtkWidget::window-dragging = 1

    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
}

style "frame_title" {

    fg[NORMAL]        = lighter (@fg_color)
}

style "treeview" {

    engine "clearlooks" {
        hint = "treeview"
    }
}

# 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"
    }
}

# 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 = 8
    ythickness = 4

    GtkWidget::new-tooltip-style = 1

    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 "*<GtkNotebook>" 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 "*<GtkNotebook>*<GtkEventBox>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkDrawingArea>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkLayout>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkViewport>" style "notebook_bg"
widget_class "*<GtkNotebook>*<GtkScrolledWindow>" style "notebook_bg"

widget_class "*<GtkButton>" style "button"
widget_class "*<GtkNotebook>" style "notebook"
widget_class "*<GtkStatusbar>*" style "statusbar"

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

widget_class "*<GtkMenuBar>*" style "menubar"
widget_class "*<GtkMenu>*" style "menu"
widget_class "*<GtkMenuItem>*" style "menu_item"
widget_class "*<GtkSeparatorMenuItem>*" style "separator_menu_item"

widget_class "*.<GtkFrame>.<GtkLabel>" style "frame_title"
widget_class "*.<GtkTreeView>*" style "treeview"

widget_class "*<GtkProgress>" style "progressbar"

# Treeview headers (and similar stock GTK+ widgets)
widget_class "*.<GtkTreeView>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkCTree>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkList>.<GtkButton>" style "treeview_header"
widget_class "*.<GtkCList>.<GtkButton>" 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 "*.ETable.ECanvas" style "treeview_header"
# Workaround for the evolution ETree
widget_class "*.ETree.ECanvas" 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 "*.<GtkComboBox>.<GtkCellView>" 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 "*<GtkListItem>*" style "fg_is_text_color_workaround"
# GtkCList also uses the fg color to draw text on top of the base colors.
widget_class "*<GtkCList>" style "fg_is_text_color_workaround"
# Nautilus when renaming files, and maybe other places.
widget_class "*<EelEditableLabel>" style "fg_is_text_color_workaround"

# See the documentation of the style.
widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "evo_new_button_workaround"


转载于:https://my.oschina.net/wisedream/blog/109513

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值