テーマ

アイコンセットの変更

Inkscapeでは、アイコンセットの定義ファイルを差し替えることができます。アイコンセットは、次の場所に置かれています。

[Inkscapeインストールフォルダ]\share\icons\icons.svg

icons.svgの置かれているフォルダに、tango_icons.svgというTangoデザインのアイコンセットが置かれています。このファイルの名前をicons.svgに変更してInkscapeを再起動すれば、InkscapeのアイコンがTangoのものに変更されます。ただし、0.48.2で添付されているものはスプレーツール用のアイコンが欠けています。

残念ながら、現在のところインターネット上で配布されているものはほとんどありません。GNOME-LOOK.ORGでいくつか公開されているものがあるので、検索して探してみると良いでしょう。単にキーワードを「Inkscape」として検索すると、Inkscapeを用いて作成されたテーマがすべて検索されてしまうので、「icons.svg」をキーワードとして検索すると良いようです。

テーマを自作するには、前述のicons.svgを編集します。Inkscapeを起動するとグループ名でアイコンを取り出して使用するので、元のアイコンと同じグループ名で新しいアイコンを作成してください。

ウィンドウテーマの変更

GTK+の定義ファイルを書き換えることにより、ウィンドウの見た目を変更することができます。GTK+の定義ファイルは、次の場所に置かれています。

[Inkscapeインストールフォルダ]\etc\gtk-2.0\gtkrc

このファイルを書き換えると、次のようにボタンやスクロールバーまで形状の異なるウィンドウに模様替えすることも可能です。

inkscape-gray-theme

gtkrcを次の内容に書き換えてInkscapeを再起動すれば、上の例で示すテーマが反映されます。

# Set GtkSettings color scheme property.
# This can be overriden (via an xsetting) with eg. the gnome-appearance-properties.
gtk_color_scheme = "fg_color:#E6E6E6\nbg_color:#555753\nbase_color:#2E3436\ntext_color:#D3D7CF\nselected_bg_color:#3F403D\nselected_fg_color:#7AA3CC\ntooltips_bg_color:#EDDE5C\ntooltips_fg_color:#000000"

style "clearlooks-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        = 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

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

	xthickness = 1
	ythickness = 1


	fg[NORMAL]        = @fg_color
	fg[PRELIGHT]      = @fg_color
	fg[SELECTED]      = @selected_fg_color
	fg[ACTIVE]        = @fg_color
	fg[INSENSITIVE]   = darker (@bg_color)

	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)

	base[NORMAL]      = @base_color
	base[PRELIGHT]    = shade (0.95, @bg_color)
	base[ACTIVE]      = shade (0.9, @selected_bg_color)
	base[SELECTED]    = @selected_bg_color
	base[INSENSITIVE] = @bg_color

	text[NORMAL]      = @text_color
	text[PRELIGHT]    = @text_color
	text[ACTIVE]      = @selected_fg_color
	text[SELECTED]    = @selected_fg_color
	text[INSENSITIVE] = darker (@bg_color)

	engine "clearlooks" 
	{
		colorize_scrollbar = FALSE
		reliefstyle        = 1
		menubarstyle       = 2      # 0 = flat, 1 = sunken, 2 = flat gradient
		toolbarstyle       = 1      # 0 = flat, 1 = enable effects
		animation          = FALSE
		style              = GUMMY

		# Set a hint to disable backward compatibility fallbacks.
		hint = "use-hints"
	}
}

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

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

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

	bg[NORMAL]   = shade (1.04, @bg_color) # "#f6f4f1"
	bg[PRELIGHT] = shade (1.06, @bg_color)
	bg[ACTIVE]   = shade (0.85, @bg_color)
}

style "clearlooks-notebook-bg"
{
	bg[NORMAL] = shade (1.02, @bg_color)
}

style "clearlooks-notebook" = "clearlooks-notebook-bg"
{
	xthickness = 3
	ythickness = 3
}

style "clearlooks-tasklist"
{
	xthickness = 5
	ythickness = 3
}

style "clearlooks-menu"
{
	xthickness = 0
	ythickness = 0

	bg[NORMAL] = shade (1.08, @bg_color)

	# Radius of the menu items (inside menus)
	engine "clearlooks" 
	{
		radius = 0.0
	}
}

style "clearlooks-menu-item"
{
	xthickness = 2
	ythickness = 3

	fg[PRELIGHT] = @selected_fg_color
}

style "clearlooks-separator-menu-item"
{
	GtkSeparatorMenuItem::horizontal-padding = 0
	# We are setting the desired height by using wide-separators
	# There is no other way to get the odd height ...
	GtkWidget::wide-separators = 1
	GtkWidget::separator-width = 1
	GtkWidget::separator-height = 5
	xthickness = 1
	ythickness = 0
}

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

# Based on the default style so that the colors from the button
# style are overriden again.
style "clearlooks-treeview-header" = "clearlooks-default"
{
	xthickness = 2
	ythickness = 1

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

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

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

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

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

	fg[PRELIGHT] = @selected_fg_color

	engine "clearlooks"
	{
		# Explicitly set the radius, for progress
		# bars inside menuitems
		radius = 3.0

		hint	= "progressbar"
	}
}

style "clearlooks-statusbar"
{
	engine "clearlooks"
	{
		hint	= "statusbar"
	}
}

style "clearlooks-comboboxentry"
{
	# NOTE:
	# If you set the appears-as-list option on comboboxes in the theme
	# you should set this hint on the combobox instead.
	engine "clearlooks"
	{
		hint	= "comboboxentry"
	}
}

style "clearlooks-spinbutton"
{
	engine "clearlooks"
	{
		hint	= "spinbutton"
	}
}

style "clearlooks-scale"
{
	engine "clearlooks"
	{
		hint	= "scale"
	}
}

style "clearlooks-hscale"
{
	engine "clearlooks"
	{
		hint	= "hscale"
	}
}

style "clearlooks-vscale"
{
	engine "clearlooks"
	{
		hint	= "vscale"
	}
}

style "clearlooks-scrollbar"
{
	engine "clearlooks"
	{
		hint	= "scrollbar"
	}
}

style "clearlooks-hscrollbar"
{
	engine "clearlooks"
	{
		hint	= "hscrollbar"
	}
}

style "clearlooks-vscrollbar"
{
	engine "clearlooks"
	{
		hint	= "vscrollbar"
	}
}

style "clearlooks-menubar"
{
	engine "clearlooks"
	{
		hint	= "menubar"
	}
}

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


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

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

# Increase the x/ythickness in some widgets
class "GtkToolbar"   style "clearlooks-default" 
class "GtkRange"     style "clearlooks-wide"
class "GtkFrame"     style "clearlooks-wide"
class "GtkSeparator" style "clearlooks-wide"
class "GtkEntry"     style "clearlooks-wider"

class "GtkSpinButton"  style "clearlooks-spinbutton"
class "GtkScale"       style "clearlooks-scale"
class "GtkVScale"      style "clearlooks-vscale"
class "GtkHScale"      style "clearlooks-hscale"
class "GtkScrollbar"   style "clearlooks-scrollbar"
class "GtkVScrollbar"  style "clearlooks-vscrollbar"
class "GtkHScrollbar"  style "clearlooks-hscrollbar"

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

# 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 "clearlooks-notebook-bg"
widget_class "*<GtkNotebook>*<GtkDrawingArea>"  style "clearlooks-notebook-bg"
widget_class "*<GtkNotebook>*<GtkLayout>"       style "clearlooks-notebook-bg"

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

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

widget_class "*<GtkMenuBar>*"           style "clearlooks-menubar"
widget_class "*<GtkMenu>*"              style "clearlooks-menu"
widget_class "*<GtkMenuItem>*"          style "clearlooks-menu-item"
widget_class "*<GtkSeparatorMenuItem>*" style "clearlooks-separator-menu-item"

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

widget_class "*<GtkProgressBar>"       style "clearlooks-progressbar"

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

# Workarounds for Evolution
widget_class "*.ETable.ECanvas"    style "clearlooks-treeview-header"
widget_class "*.ETree.ECanvas"    style "clearlooks-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 "clearlooks-tooltips"

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

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

# Work around for http://bugzilla.gnome.org/show_bug.cgi?id=382646
# Note that the work around assumes that the combobox is _not_ in
# appears-as-list mode.
# Similar hack also in the menuitem style.
# This style does not affect GtkComboBoxEntry, it does have an effect
# on comboboxes in appears-as-list mode though.
style "clearlooks-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 "clearlooks-text-is-fg-color-workaround"

style "clearlooks-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)
}
widget "*.gtk-combobox-popup-menu.*"   style "clearlooks-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 "clearlooks-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 "clearlooks-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 "clearlooks-fg-is-text-color-workaround"

# Work around the evolution "New" button bug by making the toolbar flat.
# http://bugzilla.gnome.org/show_bug.cgi?id=446953
# Maybe remove this workaround in unstable releases.
style "clearlooks-evo-new-button-workaround"
{
	engine "clearlooks"
	{
		toolbarstyle = 0
	}
}
widget_class "EShellWindow.GtkVBox.BonoboDock.BonoboDockBand.BonoboDockItem*" style "clearlooks-evo-new-button-workaround"

GTK+の設定の一覧は、GNOME Library (英語) を参照してください。

最終更新: 2014-03-06 14:19:37