| Pekwm Documentation: Documentation corresponding to pekwm-0.1.7, last updated August 06, 2008. | ||
|---|---|---|
| Prev | Next | |
This section aims to documenting the pekwm theme structure. It's rather cryptic at first look, sorry.
Please use existing themes as real life examples and base when it comes to making your own.
It is strongly recommended and expected that theme tarballs are labeled for the pekwm version they are made and tested with. The filename format should be theme_name-pekwm_version.[tar.gz|tgz|tar.bz2|tbz]. For example silly_theme-pekwm_0.1.5.bz2.
It is also highly recommended that theme directories are named in a similar fashion. However, for stable releases this is not mandatory, the tarball filename is enough. If you're building for a GIT revision, mention it in as many places as possible.
The silly theme from above would contain a directory structure as follows:
silly_theme-pekwm_0.1.5/ pekwm_0.1.5/theme pekwm_0.1.5/menubg.png pekwm_0.1.5/submenu.png |
The theme file header should contain attleast the themes name, the pekwm version the theme is for, address to reach the theme maker/porter or get an updated theme, and a last modified date. Changelog entries won't hurt if you aren't the original theme author. For example:
# silly, a PekWM 0.1.5 theme by shared (themes@adresh.com) # This theme is available from hewphoria.com. # Last modified 20060529. # Extract this theme directory under ~/.pekwm/themes/ and the # themes menu will pick it up automatically. # Changelog: # 2006-05-29 HAX0ROFUNIVERSE <hawt@haxorland.invalid> # * REWROTE EVERYTHING WITH CAPS LOCK ON, # CAPS LOCK IS CRUISE CONTROL FOR COOL! |
Try to stick to the theme syntax and rather than deleting entries please use the EMPTY texture.
Name Example(s)
| | Possible values (if not obvious)
| | | Explanation
--------------------------------------------------------------------------------------------------
"pixels"
"2"
An integer, amount of pixels.
"size"
"2x2"
Pixels vertically times pixels horizontally.
"percent"
"87"
Any percent value from 1 to 100.
"toggle"
"true"
sets a value as true (1) or false (0).
"padding"
"2 2 2 2"
Free pixels from top, free pixels under, free pixels from left, free pixels from right.
"decorname"
"DEFAULT"
Any name for a decoration set, special decoration set names are:
DEFAULT,
Defines decorations to all windows unless overridden with another decoration set (REQUIRED).
MENU,
Defines decorations for menus.
STATUSWINDOW,
Defines decorations for the status window (REQUIRED).
CMDDIALOG,
Defines decorations for the command dialog.
WORKSPACEINDICATOR,
Defines decorations for the workspace indicator.
BORDERLESS,
Defines decorations for borderless windows (recommended).
TITLEBARLESS,
Defines decorations for titlebarless windows (recommended,
should be there if your theme looks nasty when toggled titlebarless).
"colour"
"#FFFFFF"
A colour value in RGB format.
"imagename"
"topleftcorner.png#fixed"
Image files filename with one of these possible variables:
#fixed,
Image is fixed size. Default if omitted.
#scaled,
Image will be scaled to fit the area it's defined for.
#tiled,
Image will be repeated as many times as needed to fill the area it's defined for.
"texture"
"Solid #888888 1x1"
Any valid texture. Valid textures are:
EMPTY,
No texture (transparent).
SOLID colour size,
A solid colour texture of defined colour and size.
SOLIDRAISED colour colour colour pixels pixels toggle toggle toggle toggle size,
A solid colour texture with a 3D look of defined colours, form and size.
First colour defines the main fill colour, second the hilight colour used on the left and top
parts of the texture, third the hilight colour on the bottom and right parts of the texture.
First pixel amount defines how fart apart the 3D effects are from eachother, second pixel
amount is how thick the bordering will be (both pixels default to 1).
The four toggles are used to tell which raised corners are to be drawn. This is usefull for
example when defining solidraised frame corner pieces. The order is Top, Bottom, Left, Right
(not unlike that used in padding). As example: "True False True False" (or 1 0 1 0) could
mean you want to draw the TopLeft piece of a solidraised window border.
Size should explain itself, see above.
IMAGE imagename,
An image texture using the defined imagename
"fontstring"
"XFT#Verdana:size=10#Left#1 1"
"-misc-fixed-*-*-*-*-14-*-*-*-*-*-*-1#Center#1 1"
Defines a font. Chopped to parts by # marks.
First the font name, then the text orientation, then shadow offsets,
then font type if not traditional x font. Some fields can be omitted.
"buttonactions"
"1" { Actions = "Close" }
Buttonactions work alike what you are used from the mouse config, first mouse button number
pressed when this action should happen, then any standard pekwm actions.
|
PDecor{}: the block for decoration sets, any amount of Decor sections can exist inside this block.
Decor, decorname{}: name of the decoration set.
Title{}: theming of the frame.
Height, pixels
Amount of pixels the titlebar should height.
HeightAdapt, boolean
If true, Height is adapted to fit the Title font.
Pad, padding
How many pixels are left around a title text.
Focused, texture
Background texture for a focused titlebar.
UnFocused, texture
Background texture for an unfocused titlebar.
WidthMin, pixels
Minimum width of title in pixels, will also place the titlebar outside of the window borders.
Use 0 to place titlebar inside borders.
WidthMax, percent
Maximum width of titles relative to window width, when this value ends up being smaller than
the value in WidthMin, WidthMin is overridden.
WidthSymetric, toggle
Set true to constant width titles or false to use titles that only are as big as the clients
title text string requires (note, asymmetric width is not fully implemented yet, allways set
this true for now to avoid problems).
Tab{}: theming of a titlebar tab.
Focused, texture
Background texture for a tab of a focused window.
Unfocused, texture
Background texture for a tab of an unfocused window.
FocusedSelected, texture
Background texture for the currently selected tab of a focused window.
UnFocusedSelected, texture
Background texture for the currently selected tab of an unfocused window.
FontColor{}: theming of font colours
Focused, colour colour
Text colour for a tab of a focused window. second value is the shadow colour.
Unfocused, colour colour
Text colour for a tab of an unfocused window. second value for shadow.
FocusedSelected, colour colour
Text colour for the currently selected tab of a focused window. second value for shadow.
UnFocusedSelected, colour colour
Text colour for the currently selected tab of an unfocused window. second value for shadow.
Font{}: theming of the titlebar fonts.
Focused, fontstring
Font of the text of a tab of a focused window.
Unfocused, fontstring
Font of the text of a tab of an unfocused window.
FocusedSelected, fontstring
Font of the text of the currently selected tab of a focused window.
UnFocusedSelected, fontstring
Font of the text of the currently selected tab of an unfocused window.
Separator{}: theming of the tab separator.
Focused, texture
Separator texture for a focused window.
Unfocused, texture
Separator texture for an unfocused window.
Buttons{}: theming of titlebar buttons.
Right{}: places the button on the right end of the titlebar.
Left{}: places the button on the left end of the titlebar.
Focused, texture
Texture for button of a focused window.
Unfocused, texture
Texture for button of an unfocused window.
Pressed, texture
Texture for button that is pressed.
Button, buttonactions
Configures what to do when a button is pressed.
Border{}: theming of the borders.
Focused{}: borders for focused windows.
UnFocused{}: borders for unfocused windows.
TopLeft, texture
Texture for the top left corner.
Top, texture
Texture for the top border.
TopRight, texture
Texture for the top right corner.
Left, texture
Texture for the left border.
Right, texture
Texture for the right birder.
BottomLeft, texture
Texture for the bottom left corner.
Bottom, texture
Texture for the bottom border.
BottomRight, texture
Texture for the bottom right border.
Harbour{}: enables theming of the harbour.
Texture, texture
Texture to use as the harbour background.
Menu{}: themes the insides of a menu window.
Pad, padding
How many pixels of space around an entry is reserved.
Focused{}: apply these when the menu/submenu is focused.
Unfocused{}: apply these when the menu/submenu is not focused.
Selected{}: apply these on the menu entry currently selected.
Font, fontstring
What font to use.
Background, texture
A texture that starts from the top of the menu and ends on the bottom.
Item, texture
A texture that starts from the top of a menu entry and ends on the bottom of the entry.
Text, colour
Colour of text to use.
Separator, texture
Texture to use as separator (required, client menu will break if none is defined).
Arrow, texture
Texture to use for indicating submenus (you want this to be defined too).
CmdDialog{}: themes the insides of a command dialog window.
Font, fontstring
What font to use.
Texture, texture
Texture to use as the background.
Text, colour
Colour of text.
Pad, padding
Amount of pixels of space around font to reserve.
Status{}: themes the insides of the status window that shows up when moving windows and so on.
Font, fontstring
What font to use.
Texture, texture
Texture to use as the background.
Text, colour
Colour of text.
Pad, padding
Amount of pixels of space around font to reserve.
WorkspaceIndicator{}: themes the workspace indicator that shows up when switching workspace.
Font, fontstring
What font to use.
Background, texture
Background for the whole window.
Workspace, texture
Texture to use when rendering a workspace.
WorkspaceActive, texture
Texture to use when rendering the active workspace.
Text, colour
Colour of text.
EdgePadding, padding
Amount of pixels of space around window edges and workspaces.
WorkspacePadding, padding
Amount of pixels of space between workspaces.
|