[home] [readme] [integration] [getting-started] [manual] [more]
馃敆NAME
labwc - theme files
馃敆THEME
The theme engine aims to be compatible with openbox and themes will be searched for in the following order:
路 ${XDG_DATA_HOME:-$HOME/.local/share}/themes/<theme-name>/openbox-3/
路 $HOME/.themes/<theme-name>/openbox-3/
路 /usr/share/themes/<theme-name>/openbox-3/
路 /usr/local/share/themes/<theme-name>/openbox-3/
路 /opt/share/themes/<theme-name>/openbox-3/
When $XDG_DATA_HOME is defined, it replaces (rather than augments) $HOME/.local/share. The same is the case for $XDG_DATA_DIRS and /usr/share/.
Choosing a theme is done by editing the <name> key in the <theme> section of the rc.xml configuration file (labwc-config(5)).
A theme consists of a themerc file and optionally some titlebar icons (referred to as buttons).
Theme settings specified in themerc can be overridden by creating a 'themerc-override' file in the configuration directory, which is normally $HOME/.config/labwc/ but can be a few other locations as described in labwc-config(5).
馃敆DATA TYPES
馃敆color
Colors can be specified by either of the following:
路 #rrggbb (hexadecimal RGB values)
路 #rrggbb aaa (same but with decimal alpha value percentage)
路 #rrggbbaa (same but with inline alpha value in hex encoding)
Note: the #rrggbb aaa notation is deprecated starting from labwc 0.7.2 and may be removed in future releases.
馃敆justification
Justification determines the horizontal alignment of text. Valid options are Left, Center and Right.
馃敆THEME ELEMENTS
馃敆border.width
Line width (integer) of border drawn around window frames. Default is 1.
馃敆window.titlebar.padding.width
Horizontal titlebar padding size, in pixels, between border and first button on the left/right. Default is 0.
馃敆window.titlebar.padding.height
Vertical titlebar padding size, in pixels. Default is 0.
馃敆window.active.border.color
Border color of active window.
馃敆window.inactive.border.color
Border color of inactive window.
馃敆window.active.indicator.toggled-keybind.color
Status indicator for the ToggleKeybinds action. Can be set to the same value as set for window.active.border.color to disable the status indicator.
馃敆window.active.title.bg.color
Background color for the focused window's titlebar.
馃敆window.inactive.title.bg.color
Background color for non-focused windows' titlebars.
馃敆window.active.label.text.color
Text color for the focused window's titlebar.
馃敆window.inactive.label.text.color
Text color non-focused windows' titlebars.
馃敆window.label.text.justify
Specifies how window titles are aligned in the titlebar for both focused and unfocused windows. Type justification. Default Left.
馃敆window.button.width
Width of a titlebar button, in pixels. Default is 26.
馃敆window.button.height
Height of a titlebar button, in pixels. Default is 26.
馃敆window.button.spacing
Space between titlebar buttons, in pixels. Default is 0.
馃敆window.button.hover.bg.corner-radius
Radius of the hover effect of a titlebar button, in pixels. Default is 0.
Note: for a circular hover effect, set window.button.width and window.button.height equal and window.button.hover.bg.corner-radius half of them.
馃敆window.active.button.unpressed.image.color
Color of the images in titlebar buttons in their default, unpressed, state. This element is for the focused window.
馃敆window.inactive.button.unpressed.image.color
Color of the images in titlebar buttons in their default, unpressed, state. This element is for non-focused windows.
Note: Button elements (i.e. window.[in]active.button.*) may be defined uniquely for each type of button ("menu", "iconify", "max", "shade", "desk" or "close") by appending the type after the "button" node. For example:
路 window.active.button.iconify.unpressed.image.color indicates the color of the
iconify button for active windows; while
路 window.inactive.button.close.unpressed.image.color indicates the color of the
close button for inactive windows.
This syntax is not documented by Openbox, but is supported and is used by many popular themes. For the sake of brevity, these elements are not listed here, but all are supported.
馃敆window.active.shadow.size
Size of the drop-shadow for the focused window, in pixels. Default is 60.
馃敆window.inactive.shadow.size
Size of drop-shadows for non-focused windows, in pixels. Default is 40.
馃敆window.active.shadow.color
Color of the drop-shadow for the focused window, including opacity. Default is #00000060 (black with 38% opacity).
馃敆window.inactive.shadow.color
Color of drop-shadows for non-focused windows, including opacity. Default is #00000040 (black with 25% opacity).
馃敆menu.overlap.x
Horizontal overlap in pixels between submenus and their parents. A positive value move submenus over the top of their parents, whereas a negative value creates a gap between submenus and their parents. Default is 0.
馃敆menu.overlap.y
Vertical offset in pixels between submenus and their parents. Positive values for downwards and negative for upwards. Default is 0.
馃敆menu.width.min
Minimal width for menus. Default is 20. A fixed width can be achieved by setting .min and .max to the same value.
馃敆menu.width.max
Maximal width for menus. Default is 200. A fixed width can be achieved by setting .min and .max to the same value.
馃敆menu.items.padding.x
Horizontal padding of menu text entries in pixels. Default is 7.
馃敆menu.items.padding.y
Vertical padding of menu text entries in pixels. Default is 4.
馃敆menu.items.bg.color
Background color of inactive menu items.
馃敆menu.items.text.color
Text color of inactive menu item.
馃敆menu.items.active.bg.color
Background color of active menu items.
馃敆menu.items.active.text.color
Text color of active menu item.
馃敆menu.separator.width
Line thickness of menu separators. Default 1.
馃敆menu.separator.padding.width
Space on the left and right side of each separator line. Default 6.
馃敆menu.separator.padding.height
Space above and below each separator line. Default 3.
馃敆menu.separator.color
Menu separator color. Default #888888.
馃敆menu.title.bg.color
Menu title color. Default #589bda. Note: A menu title is a separator with a label.
馃敆menu.title.text.justify
Specifies how menu titles are aligned in the titlebar. Type justification. Default Center.
馃敆menu.title.text.color
Text color of separator label. Default #ffffff.
馃敆osd.bg.color
Background color of on-screen-display. Inherits window.active.title.bg.color if not set.
馃敆osd.border.color
Border color of on-screen-display. Inherits osd.label.text.color if not set.
馃敆osd.border.width
Border width of on-screen-display. Inherits border.width if not set.
馃敆osd.label.text.color
Text color of on-screen-display. Inherits window.active.label.text.color if not set.
馃敆osd.window-switcher.width
Width of window switcher in pixels. Default is 600. Width can also be percent of the width of the monitor. % is mandatory as last character in this case, max 100%
馃敆osd.window-switcher.padding
Padding of window switcher in pixels. This is the space between the window-switcher border and its items. Default is 4.
馃敆osd.window-switcher.item.padding.x
Horizontal padding of window switcher entries in pixels. Default is 10.
馃敆osd.window-switcher.item.padding.y
Vertical padding of window switcher entries in pixels. Default is 1.
馃敆osd.window-switcher.item.active.border.width
Border width of the selection box in the window switcher in pixels. Default is 2.
馃敆osd.window-switcher.preview.border.width
Border width of the outlines shown as the preview of the window selected by window switcher. Inherits osd.border.width if not set.
馃敆osd.window-switcher.preview.border.color
Color(s) of the outlines shown as the preview of the window selected by window switcher. Possible value is a color or up to 3 colors separated by commas (e.g. "#ffffff,#000000,#ffffff"). When multiple colors are specified, a multi-line rectangle with each line having the specified color is drawn. If not set, this inherits the on-screen-display theme ("[osd.bg.color],[osd.label.text.color],[osd.bg.color]").
馃敆osd.workspace-switcher.boxes.width
Width of boxes in workspace switcher in pixels. Setting to 0 disables boxes. Default is 20.
馃敆osd.workspace-switcher.boxes.height
Height of boxes in workspace switcher in pixels. Setting to 0 disables boxes. Default is 20.
馃敆snapping.overlay.region.bg.enabled [yes|no]
Show a filled rectangle as an overlay when a window is snapped to a region. Default is yes for hardware-based renderers and no for software-based renderers.
馃敆snapping.overlay.edge.bg.enabled [yes|no]
Show a filled rectangle as an overlay when a window is snapped to an edge. Default is yes for hardware-based renderer and no for software-based renderers.
馃敆snapping.overlay.region.border.enabled [yes|no]
Show an outlined rectangle as an overlay when a window is snapped to a region. Default is no for hardware-based renderers and yes for software-based renderers.
馃敆snapping.overlay.edge.border.enabled [yes|no]
Show an outlined rectangle as an overlay when a window is snapped to an edge. Default is no for hardware-based renderer and yes for software-based renderers.
馃敆snapping.overlay.region.bg.color
Color of a filled rectangle shown as an overlay when a window is snapped to a region. Default is #8080b380.
馃敆snapping.overlay.edge.bg.color
Color of a filled rectangle shown as an overlay when a window is snapped to an edge. Default is #8080b380.
馃敆snapping.overlay.region.border.width
Border width of an outlined rectangle shown as an overlay when a window is snapped to a region. Inherits `osd.border.width` if not set.
馃敆snapping.overlay.edge.border.width
Border width of an outlined rectangle shown as an overlay when a window is snapped to an edge. Inherits `osd.border.width` if not set.
馃敆snapping.overlay.region.border.color
Color(s) of an outlined rectangle shown as an overlay when a window is snapped to a region. Possible values and the default value are the same as those of osd.window-switcher.preview.border.color.
馃敆snapping.overlay.edge.border.color
Color(s) of an outlined rectangle shown as an overlay when a window is snapped to an edge. Possible values and the default value are the same as those of osd.window-switcher.preview.border.color.
馃敆border.color
Set both window.active.border.color and window.inactive.border.color. This is obsolete, but supported for backward compatibility as some themes still contain it.
馃敆magnifier.border.width
Width of magnifier window border in pixels. Default is 1.
馃敆magnifier.border.color
Color of the magnfier window border. Default is #ff0000 (red).
馃敆BUTTONS
The images used for the titlebar icons are referred to as buttons.
The image formats listed below are supported. They are listed in order of precedence, where the first format in the list is searched for first.
路 png
路 svg
路 xbm
By default, buttons are 1-bit xbm (X Bitmaps). These are masks where 0=clear and 1=colored. The xbm image files are placed in the same directory as the themerc file within a particular theme. The following xbm buttons are supported:
路 max.xbm
路 iconify.xbm
路 close.xbm
路 menu.xbm
路 max_toggled.xbm
路 desk.xbm
路 desk_toggled.xbm
路 shade.xbm
路 shade_toggled.xbm
Additional icons can be defined to be shown when the mouse pointer is hovering over the button in question:
路 max_hover.xbm
路 iconify_hover.xbm
路 close_hover.xbm
路 menu_hover.xbm
路 max_toggled_hover.xbm
路 desk_hover.xbm
路 desk_toggle_hover.xbm
路 shade_hover.xbm
路 shade_toggle_hover.xbm
One advantage of xbm buttons over other formats is that they change color based on the theme. Other formats use the suffices "-active" and "-inactive" to align with the respective titlebar colors. For example: "close-active.png"
For compatibility reasons, the following alternative names are supported for xbm files:
路 max_hover_toggled.xbm for max_toggled_hover.xbm
When using png or svg icons, for a full theme experience all of the following icons should be added:
路 close-active.[png|svg]
路 close_hover-active.[png|svg]
路 close_hover-inactive.[png|svg]
路 close-inactive.[png|svg]
路 iconify-active.[png|svg]
路 iconify_hover-active.[png|svg]
路 iconify_hover-inactive.[png|svg]
路 iconify-inactive.[png|svg]
路 max-active.[png|svg]
路 max_hover-active.[png|svg]
路 max_hover-inactive.[png|svg]
路 max-inactive.[png|svg]
路 max_toggled-active.[png|svg]
路 max_toggled_hover-active.[png|svg]
路 max_toggled_hover-inactive.[png|svg]
路 max_toggled-inactive.[png|svg]
路 menu-active.[png|svg]
路 menu_hover-active.[png|svg]
路 menu_hover-inactive.[png|svg]
路 menu-inactive.[png|svg]
路 shade-active.[png|svg]
路 shade_hover-active.[png|svg]
路 shade_hover-inactive.[png|svg]
路 shade-inactive.[png|svg]
路 shade_toggled-active.[png|svg]
路 shade_toggled-inactive.[png|svg]
路 shade_toggled_hover-active.[png|svg]
路 shade_toggled_hover-inactive.[png|svg]
路 desk-active.[png|svg]
路 desk_hover-active.[png|svg]
路 desk_hover-inactive.[png|svg]
路 desk-inactive.[png|svg]
路 desk_toggled-active.[png|svg]
路 desk_toggled-inactive.[png|svg]
路 desk_toggled_hover-active.[png|svg]
路 desk_toggled_hover-inactive.[png|svg]
馃敆DEFINITIONS
The handle is the window edge decoration at the bottom of the window.
馃敆SEE ALSO
labwc(1), labwc-config(5), labwc-actions(5)