# Wireframe gtk theme
#	written by Kobus Retief
#	last update: Wed Dec 29 16:38:44 SAST 1999
#	modified (extensively) from Rasterman's original Pixmap theme
#	see ../README.html for more info


#pixmap_path "/home/koos/Wireframe/gtk/gtk"



################################################################################
# EventBox
#	Important for some reason (inheritance between widget classes?)

style "EventBox" {
	bg_pixmap[NORMAL]	= "<parent>"
	bg_pixmap[INSENSITIVE]	= "<parent>"
	bg_pixmap[PRELIGHT]	= "<parent>"
	bg_pixmap[SELECTED]	= "<parent>"
	bg_pixmap[ACTIVE]	= "<parent>"
}

class "GtkEventBox" style "EventBox"



################################################################################
# Button/ToggleButton

style "Button" {
	engine "pixmap" {

		# The border behind a default button
		image {
			function	= BOX
			state		= NORMAL
			detail		= "buttondefault"
			file		= "frame_in.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		# The button itself
		image {
			function	= BOX
			state		= PRELIGHT
			shadow		= OUT
			file		= "button_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
		image {
			function	= BOX
			state		= PRELIGHT
			shadow		= IN
			file		= "button_clicked_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		image {
			function	= BOX
			state		= SELECTED
			shadow		= OUT
			file		= "button_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
		image {
			function	= BOX
			state		= SELECTED
			shadow		= IN
			file		= "button_clicked_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		image {
			function	= BOX
			shadow		= OUT
			file		= "button_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
		image {
			function	= BOX
			shadow		= IN
			file		= "button_clicked.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
	}
}

class "GtkButton" style "Button"
class "GtkToggleButton" style "Button"



################################################################################
# MenuItem

style "MenuItem" {
	engine "pixmap" {
		# Hilited menu items
		image {
			function	= BOX
			file		= "bar_h_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
	}
}

class "GtkMenuItem" style "MenuItem"



################################################################################
# Notebook
#	e.g. Preferences dialog in Gimp.
#	I only handle tabbed pages here.

style "Notebook" {
	engine "pixmap" {

		# BOX_GAP (pages with gaps)
		image {
			function	= BOX_GAP
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
			gap_file	= "notebook_gap_top.xpm"
			gap_border	= { 1, 1, 0, 0 }
			gap_start_file	= "line_h.xpm"
			gap_end_file	= "line_h.xpm"
			gap_side	= TOP
		}
		image {
			function	= BOX_GAP
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
			gap_file	= "notebook_gap_bottom.xpm"
			gap_border	= { 1, 1, 0, 0 }
			gap_start_file	= "notebook_gap_bottom_start.xpm"
			gap_start_border= { 2, 0, 0, 0 }
			gap_end_file	= "notebook_gap_bottom_end.xpm"
			gap_end_border	= { 0, 2, 0, 0 }
			gap_side	= BOTTOM
		}
		image {
			function	= BOX_GAP
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
			gap_file	= "notebook_gap_left.xpm"
			gap_border	= { 0, 0, 1, 1 }
			gap_start_file	= "line_v.xpm"
			gap_end_file	= "line_v.xpm"
			gap_side	= LEFT
		}
		image {
			function	= BOX_GAP
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
			gap_file	= "notebook_gap_right.xpm"
			gap_border	= { 0, 0, 1, 1 }
			gap_start_file	= "notebook_gap_right_start.xpm"
			gap_start_border= { 0, 0, 2, 0 }
			gap_end_file	= "notebook_gap_right_end.xpm"
			gap_end_border	= { 0, 0, 0, 2 }
			gap_side	= RIGHT
		}

		# EXTENSION (tabs)
		image {
			function	= EXTENSION
			file		= "extension_top.xpm"
			border		= { 2, 2, 2, 0 }
			stretch		= TRUE
			gap_side	= BOTTOM
		}
		image {
			function	= EXTENSION
			file		= "extension_bottom.xpm"
			border		= { 2, 2, 0, 2 }
			stretch		= TRUE
			gap_side	= TOP
		}
		image {
			function	= EXTENSION
			file		= "extension_left.xpm"
			border		= { 2, 0, 2, 2 }
			stretch		= TRUE
			gap_side	= RIGHT
		}
		image {
			function	= EXTENSION
			file		= "extension_right.xpm"
			border		= { 0, 2, 2, 2 }
			stretch		= TRUE
			gap_side	= LEFT
		}

	}
}

class "GtkNotebook" style "Notebook"



################################################################################
# OptionMenu
#	Drop-down selection box
#	This looks like any standard text input box (with a small
#	overlay button defined in style "Default")

style "OptionMenu" {
	engine "pixmap" {
		image {
			function	= BOX
			file		= "frame_in.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
	}
}

class "GtkOptionMenu" style "OptionMenu"



################################################################################
# ProgressBar

style "ProgressBar" {
	engine "pixmap" {
		image {
			function	= BOX
			detail		= "bar"
			file		= "bar_h_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
	}
}

class "GtkProgressBar" style "ProgressBar"



################################################################################
# Ruler

style "Ruler" {
	font	= "-*-lucida-medium-r-*-*-8-*-*-*-*-*-*-*"
}

class "GtkRuler" style "Ruler"



################################################################################
# List/tree items

style "ListItem" {
	engine "pixmap" {
		image {
			function	= FLAT_BOX
			file		= "blue.xpm"
			stretch		= TRUE
		}
	}
}

class "GtkListItem" style "ListItem"
class "GtkTreeItem" style "ListItem"



################################################################################
# Default
#	The default settings (obviously), as well as some other
#	interesting stuff.

style "Default" {
	font = "-*-lucida-medium-r-*-*-10-*-*-*-*-*-*-*"

	fg[NORMAL]		= "#c0c0c0"
	fg[PRELIGHT]		= "#ffffff"
	fg[ACTIVE]		= "#c0c0c0"
	fg[SELECTED]		= "#ffffff"
	fg[INSENSITIVE]		= "#202040"

	text[NORMAL]		= "#c0c0c0"
	text[PRELIGHT]		= "#ffffff"
	text[ACTIVE]		= "#c0c0c0"
	text[SELECTED]		= "#ffffff"
	text[INSENSITIVE]	= "#606080"

	bg[NORMAL]		= "#000000"
	bg[PRELIGHT]		= "#000000"
	bg[ACTIVE]		= "#000000"
	bg[SELECTED]		= "#404060"
	bg[INSENSITIVE]		= "#000000"

	base[NORMAL]		= "#000000"
	base[PRELIGHT]		= "#000000"
	base[ACTIVE]		= "#000000"
	base[SELECTED]		= "#000000"
	base[INSENSITIVE]	= "#000000"

	engine "pixmap" {

		# Selected text in entries, text widget, lists and trees
		image {
			function	= FLAT_BOX
			detail		= "selected"
			file		= "blue.xpm"
			stretch		= TRUE
		}
		image {
			function	= FLAT_BOX
			detail		= "text"
			file		= "blue.xpm"
			stretch		= TRUE
		}
		image {
			function	= FLAT_BOX
			detail		= "viewportbin"
			file		= "blue.xpm"
			stretch		= TRUE
		}

		# Scrollbar sliders
		image {
			function	= BOX
			detail		= "slider"
			state		= PRELIGHT
			file		= "bar_h_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			orientation	= HORIZONTAL
		}
		image {
			function	= BOX
			detail		= "slider"
			file		= "bar_h_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			orientation	= HORIZONTAL
		}

		image {
			function	= BOX
			detail		= "slider"
			state		= PRELIGHT
			file		= "bar_v_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			orientation	= VERTICAL
		}
		image {
			function	= BOX
			detail		= "slider"
			file		= "bar_v_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			orientation	= VERTICAL
		}

		# Arrows
		image {
			function	= ARROW
			state		= PRELIGHT
			shadow		= OUT
			file		= "arrow_up_hilited.xpm"
			stretch		= TRUE
			arrow_direction = UP
		}
		image {
			function	= ARROW
			shadow		= OUT
			file		= "arrow_up_normal.xpm"
			stretch		= TRUE
			arrow_direction = UP
		}
		image {
			function	= ARROW
			shadow		= IN
			file		= "arrow_up_clicked.xpm"
			stretch		= TRUE
			arrow_direction = UP
		}

		image {
			function	= ARROW
			state		= PRELIGHT
			shadow		= OUT
			file		= "arrow_down_hilited.xpm"
			stretch		= TRUE
			arrow_direction = DOWN
		}
		image {
			function	= ARROW
			shadow		= OUT
			file		= "arrow_down_normal.xpm"
			stretch		= TRUE
			arrow_direction = DOWN
		}
		image {
			function	= ARROW
			shadow		= IN
			file		= "arrow_down_clicked.xpm"
			stretch		= TRUE
			arrow_direction = DOWN
		}

		image {
			function	= ARROW
			state		= PRELIGHT
			shadow		= OUT
			file		= "arrow_left_hilited.xpm"
			stretch		= TRUE
			arrow_direction = LEFT
		}
		image {
			function	= ARROW
			shadow		= OUT
			file		= "arrow_left_normal.xpm"
			stretch		= TRUE
			arrow_direction = LEFT
		}
		image {
			function	= ARROW
			shadow		= IN
			file		= "arrow_left_clicked.xpm"
			stretch		= TRUE
			arrow_direction = LEFT
		}

		image {
			function	= ARROW
			state		= PRELIGHT
			shadow		= OUT
			file		= "arrow_right_hilited.xpm"
			stretch		= TRUE
			arrow_direction = RIGHT
		}
		image {
			function	= ARROW
			shadow		= OUT
			file		= "arrow_right_normal.xpm"
			stretch		= TRUE
			arrow_direction = RIGHT
		}
		image {
			function	= ARROW
			shadow		= IN
			file		= "arrow_right_clicked.xpm"
			stretch		= TRUE
			arrow_direction = RIGHT
		}


		# Horisontal and vertical lines
		image {
			function	= HLINE
			file		= "line_h.xpm"
			stretch		= TRUE
		}
		image {
			function	= VLINE
			file		= "line_v.xpm"
			stretch		= TRUE
		}

		# Check buttons
		image {
			function	= CHECK
			state		= PRELIGHT
			shadow		= OUT
			overlay_file	= "button_hilited.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch	= TRUE
		}
		image {
			function	= CHECK
			state		= PRELIGHT
			shadow		= IN
			overlay_file	= "button_clicked_hilited.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch	= TRUE
		}
		image {
			function	= CHECK
			shadow		= OUT
			overlay_file	= "button_normal.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}
		image {
			function	= CHECK
			shadow		= IN
			overlay_file	= "button_clicked.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}

		# Option (radio) buttons
		image {
			function	= OPTION
			state		= PRELIGHT
			shadow		= OUT
			overlay_file	= "button_hilited.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch	= TRUE
		}
		image {
			function	= OPTION
			state		= PRELIGHT
			shadow		= IN
			overlay_file	= "button_clicked_hilited.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch	= TRUE
		}
		image {
			function	= OPTION
			shadow		= OUT
			overlay_file	= "button_normal.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}
		image {
			function	= OPTION
			shadow		= IN
			overlay_file	= "button_clicked.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}

		# Scalebar sliders
		image {
			function	= SLIDER
			state		= PRELIGHT
			file		= "button_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}
		image {
			function	= SLIDER
			file		= "button_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		# The tab on the OptionMenu
		image {
			function	= TAB
			state		= PRELIGHT
			overlay_file	= "button_hilited.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}

		image {
			function	= TAB
			overlay_file	= "button_normal.xpm"
			overlay_border	= { 2, 2, 2, 2 }
			overlay_stretch = TRUE
		}

		# Handle on HandleBoxen
		image {
			function	= HANDLE
			state		= PRELIGHT
			file		= "button_hilited.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		image {
			function	= HANDLE
			file		= "button_normal.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		# Focus around any widget
		image {
			function	= FOCUS
			overlay_file	= "focus.xpm"
			overlay_border	= { 1, 1, 1, 1 }
			overlay_stretch = TRUE
		}

		# Shadows (IN)
		image {
			function	= SHADOW
			shadow		= IN
			file		= "frame_in.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		image {
			function	= SHADOW_GAP
			shadow		= IN
			file		= "frame_in.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			gap_file	= "black.xpm"
			gap_start_file	= "frame_in_gap_start.xpm"
			gap_start_border= { 2, 0, 0, 0 }
			gap_end_file	= "frame_in_gap_end.xpm"
			gap_end_border	= { 0, 2, 0, 0 }
			gap_side	= TOP
		}

		# Shadows (OUT)
		image {
			function	= SHADOW
			shadow		= OUT
			file		= "frame_out.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
		}

		image {
			function	= SHADOW_GAP
			shadow		= OUT
			file		= "frame_out.xpm"
			border		= { 2, 2, 2, 2 }
			stretch		= TRUE
			gap_file	= "black.xpm"
			gap_start_file	= "frame_out_gap_start.xpm"
			gap_start_border= { 2, 0, 0, 0 }
			gap_end_file	= "frame_out_gap_end.xpm"
			gap_end_border	= { 0, 2, 0, 0 }
			gap_side	= TOP
		}

		# Shadows (ETCHED_IN/ETCHED_OUT and default)
		image {
			function	= SHADOW
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
		}

		image {
			function	= SHADOW_GAP
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
			gap_file	= "black.xpm"
			gap_start_file	= "line_h.xpm"
			gap_end_file	= "line_h.xpm"
			gap_side	= TOP
		}

		# BOX default
		image {
			function	= BOX
			file		= "box.xpm"
			border		= { 1, 1, 1, 1 }
			stretch		= TRUE
		}

		# FLAT_BOX default
		image {
			function	= FLAT_BOX
			file		= "black.xpm"
			stretch		= TRUE
		}
	}
}

class "GtkWidget" style "Default"
