Smooth GTK Engine 0.5.x

Description

Smooth GTK1/GTK2 Theme Engine is a simple theme engine intended to be smooth, fast, and highly configurable, such that it could eventually mimic most, if not all, major theme engines to high degree of acuracy, while still retaining a small footprint.

Engine Parts

Each engine part is a block of tokens, within curly braces.

name {
  token = value
  token2 = value2
}

Line Part

The line part defines the drawing style of single lines throughout the engine. This applies to such things as menu seperators and

Values for style token:

Value

Effect

Description

flat

missing

A flat line, with no depth or definition aside from a plain pixel line.

smooth

missing

Smooth engine's own line style, very similar to XFCE.

thin

missing

A thin line, similar to the ThinIce engine's lines

Fill Part

The fill part determines the way basic widget drawing is done.

Value

Description

solid

Draws widgets without a gradient.

gradient

Draws widgets with a two-color gradient. Define the two colors with the tokens color1 and color2. The color tokens are defined using hexadecimal, or RGB within curly braces.

shade

Draws widgets with the base colour, using coeffiecents to define darker and lighter values. Define the two shade coeficcents with the tokens shade1 and shade2. Range is 0.0 to 2.0.

All gradient styles also use two tokens to describe the direction of the gradient: hdirection and vdirection. They are defined with one of the following:

Value

Description

horizontal

Draws the gradient in a horizontal direction.

vertical

Draws the gradient in a vertical direction.

fdiagonal, forward_diagonal, forwarddiagonal, ndiagonal, northern_diagonal, northerndiagonal

Draws the gradient in a northern direction.

bdiagonal, backward_diagonal, backwarddiagonal, sdiagonal, southern_diagonal, southerndiagonal

Draws the gradient in a southern direction.

hdirection

Used by all horizontal widgets (scrollbars for example).

vdirection

Used by vertical widgets (again, scrollbars).

Often times the fill{} part can be defined within other part blocks, and it will define a particular way of drawing those widgets (for example, define a fill{ style=solid } inside the grip{} block to draw all grips without gradients).

Edge Part

The edge part defines the appearance of the edges of box widgets. The current styles of edge are defined using a nested part, named line (see below for valid tokens).

Line Part (within an edge part)

Defines the border styles of the edge.

Value

Effect

Description

bevel

edges-bevel.png

A line, drawn with a bevel to it.

cold

edges-cold.png

A line style similar to Wonderland's lines.

flat

edges-flat.png

A flat line, with no depth or definition aside from a plain pixel line.

smooth

edges-smooth.png

Smooth engine's own line style, very similar to XFCE.

standard

edges-standard.png

Default GTK+ normal line.

thin

edges-thin.png

A thin line, similar to the ThinIce engine's lines

win32

edges-win32.png

A line style mimicking the borders of a well-known OS.

Check Box Part

Defines the appearance of check buttons.

Style Token

Value

Effect

Description

block

check-block.png

A filled square.

circle

check-circle.png

A filled circle.

clean

check-clean.png

Checkboxes in a manner similar to CleanIce.

crisscross

check-crisscross.png

A "cross" style mark.

fast

check-fast.png

Small vertical line, and a thinner diagonal line up.

sloppy

check-sloppy.png

Default GTK+ 2.x check style.

Motif Token

Boolean token that defines whether the radio buttons appear depressed when "on", and not pressed when "off".

Supported Parts

Fill Edge

Radio Button Part

Defines the appearance of radio buttons.

Style Token

Value

Effect

circle

radio-circle.png

diamond

radio-diamond.png

Motif Token

Boolean token that defines whether the radio buttons appear depressed when "on", and not pressed when "off".

Supported Parts

Fill Edge

Arrow Part

Defines the appearance of arrows used on scrollbars and other widgets.

Style Token

Value

Effect

default

arrows-default.png

icegradient

arrows-icegradient.png

thinice

arrows-thinice.png

wonderland

arrows-wonderland.png

xfce

arrows-xfce.png

cleanice

missing

Tab Part

Defines the appearance of tabs.

Style Token

Value

Effect

round

tabs-round.png

square

tabs-square.png

triangle

tabs-triangle.png

Grip Part

Defines the appearance of grips.

Style Token

Value

Effect

Description

bars_in

grips-bars_in.png

Engraved vertical bars

bars_out

grips-bars_out.png

Embossed vertical bars

buds_in

grips-buds_in.png

Small engraved dots that are drawn on slightly different lines.

buds_out

grips-buds_out.png

Small embossed dots that are drawn on slightly different lines.

dots_in

grips-dots_in.png

A fixed number of engraved dots. Uses count and spacing tokens.

dots_out

grips-dots_out.png

A fixed number of embossed dots. Uses count and spacing tokens.

fixedlines_in

grips-fixedlines_in.png

Engraved lines drawn in the center of the grip. Uses count and spacing tokens.

fixedlines_out

grips-fixedlines_out.png

Embossed lines drawn in the center of the grip. Uses count and spacing tokens.

lines_in

grips-lines_in.png

Engraved horizontal lines.

lines_out

grips-lines_out.png

Embossed horizontal lines.

mac_buds_in

grips-mac_buds_in.png

Small engraved dots. Similar to the dots of older Macintosh OS versions.

mac_buds_out

grips-mac_buds_out.png

Small embossed dots. Similar to the dots of older Macintosh OS versions.

slashes

grips-slashes.png

Angled slashes on the grip. Uses count and spacing tokens.

smalldots_in

grips-smalldots_in.png

Fixed number of engraved smaller dots. Uses count and spacing tokens.

smalldots_out

grips-smalldots_out.png

Fixed number of embossed smaller dots. Uses count and spacing tokens.

none

missing

Spacing Token

Defines the spacing of the grip elements. Units are in pixels.

Count Token

Defines the number of elements that make up the grip.

Attic/GnomeArt/Tutorials/GtkEngines/SmoothEngine (last edited 2013-11-27 14:33:54 by WilliamJonMcCann)