.\" Generated by scdoc 1.11.2 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "labwc-config" "5" "2023-12-16" .P .SH NAME .P labwc - configuration files .P .SH DESCRIPTION .P Labwc uses openbox-3.\&6 specification for configuration and theming, but does not support all options.\& The following files form the basis of the labwc configuration: rc.\&xml, menu.\&xml, autostart and environment.\& .P No configuration files are needed to start and run labwc.\& .P In accordance with XDG Base Directory Specification, configuration files are searched for in the following order: .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} ${XDG_CONFIG_HOME:-$HOME/.\&config}/labwc .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} ${XDG_CONFIG_DIRS:-/etc/xdg}/labwc .RE .P The configuration directory location can be override with the -C command line option.\& .P All configuration and theme files except autostart are re-loaded on receiving signal SIGHUP.\& .P The \fBautostart\fR file is executed as a shell script.\& This is the place for executing clients for handling background images, panels and similar.\& .P The \fBenvironment\fR file is parsed as \fBvariable=value\fR and sets environment variables accordingly.\& It is recommended to specify keyboard layout settings and cursor size/theme here; see environment variable section below for details.\& Note that the environment file is treated differently by openbox where it is simply sourced prior to running openbox.\& Note: Tilde (~) and environment variables in the value are expanded, but subshell syntax and apostrophes are ignored.\& .P The \fBmenu.\&xml\fR file defines the context/root-menus and is described in labwc-menu(5).\& .P There is a small section in rc.\&xml, for example to set rounded corners, but the remainder of the theme specification and associated files are described in labwc-theme(5).\& .P \fBrc.\&xml\fR is the main configuration file and all its options are described in detail below.\& .P .SH CONFIGURATION .P This section describes \fBrc.\&xml\fR configuration options.\& .P .SS SYNTAX .P Configuration must be wrapped in a root-element like this: .P .nf .RS 4 .fi .RE .P \fBlabwc\fR parses XML in an element/attribute agnostic way.\& This is a design decision to increase config file flexibility and keep code simple.\& In practical terms, this means that `c` is equivalent to ``.\& .P The following three are therefore treated the same: .P .nf .RS 4 Execute foot .fi .RE .P .nf .RS 4 foot .fi .RE .P .nf .RS 4 .fi .RE .P The benefit of the final one is brevity whereas the advantage of the first two is that you can add '\& and " within the `` block, for example: .P .nf .RS 4 sh -c \&'grim -g "`slurp`"\&' .fi .RE .P Elements at the same level can have the same name whereas attributes cannot.\& Therefore, where multiple objects of the same kind are required (for example \fB\fR and \fB\fR) the top-node of the object has to be an element.\& .P .SS BOOLEANS .P Note that in this manual, Boolean values are listed as [yes|no] for simplicity, but it'\&s also possible to use [true|false] and/or [on|off]; this is for compatibility with Openbox.\& .P .SS CORE .P .nf .RS 4 server 0 no no .fi .RE .P \fB\fR [server|client] .RS 4 Specify server or client side decorations for xdg-shell views.\& Note that it is not always possible to turn off client side decorations.\& Default is server.\& .P .RE \fB\fR .RS 4 The distance in pixels between views and output edges when using movement actions, for example MoveToEdge.\& Default is 0.\& .P .RE \fB\fR [yes|no] .RS 4 Enable adaptive sync.\& Default is no.\& .P .RE \fB\fR [yes|no] .RS 4 Try to re-use the existing output mode (resolution / refresh rate).\& This may prevent unnecessary screenblank delays when starting labwc (also known as flicker free boot).\& If the existing output mode can not be used with labwc the preferred mode of the monitor is used instead.\& Default is no.\& .P .RE .SS WINDOW SWITCHER .P \fB\fR .RS 4 \fBshow\fR [yes|no] Draw the OnScreenDisplay when switching between windows.\& Default is yes.\& .P \fBpreview\fR [yes|no] Preview the contents of the selected window when switching between windows.\& Default is yes.\& .P \fBoutlines\fR [yes|no] Draw an outline around the selected window when switching between windows.\& Default is yes.\& .P .RE \fB\fR .RS 4 Define window switcher fields.\& .P \fBcontent\fR defines what the field shows and can be any of: .P .RS 4 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBtype\fR Show view type ("xdg-shell" or "xwayland") .RE .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBidentifier\fR Show identifier (app_id for native Wayland windows and WM_CLASS for XWayland clients) .RE .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBtitle\fR Show window title if different to app_id .RE .P .RE \fBwidth\fR defines the width of the field expressed as a percentage of the overall window switcher width.\& The "%" character is required.\& .P .RE .SS RESISTANCE .P \fB\fR .RS 4 Screen Edge Strength is how far past the screen'\&s edge your cursor must move before the window will move with it.\& Resistance is counted in pixels.\& Default is 20 pixels.\& .P .RE .SS FOCUS .P \fB\fR [yes|no] .RS 4 Make focus follow mouse, i.\&e.\& focus is given to window under mouse cursor.\& Default is no.\& .P .RE \fB\fR [yes|no] .RS 4 Requires cursor movement if followMouse is enabled.\& It is the same as the "underMouse" setting in Openbox.\& If set to "no", labwc will additionally focus the window under the cursor in all situations which change the position of a window (e.\&g.\& switching workspaces, opening/closing windows).\& Focusing a different window via A-Tab is still possible, even with this setting set to "no".\& Default is yes.\& .P .RE \fB\fR [yes|no] .RS 4 Raise window to top when focused.\& Default is no.\& .P .RE .SS WINDOW SNAPPING .P The following two options relate to triggering window actions when moving windows using the mouse.\& .P \fB\fR .RS 4 The distance in pixels from the edge of an output for window Move operations to trigger SnapToEdge.\& A range of 0 disables window snapping.\& Default is 1.\& .P .RE \fB\fR [yes|no] .RS 4 Maximize window if Move operation ends on the top edge.\& Default is yes.\& .P .RE .SS REGIONS .P \fB\fR .RS 4 Define snap regions.\& The regions are calculated based on the usable area of each output.\& Usable area in this context means space not exclusively used by layershell clients like panels.\& The "%" character is required.\& Windows can either be snapped to regions by keeping a keyboard modifier pressed while moving a window (Ctrl, Alt, Shift, Logo) or by using the SnapToRegion action.\& By default there are no regions defined.\& .P .RE .SS WORKSPACES .P \fB\fR .RS 4 Define workspaces.\& A workspace covers all outputs.\& The OSD only shows windows on the current workspace.\& Workspaces can be switched to with GoToDesktop and windows can be moved with SendToDesktop.\& See labwc-actions(5) for more information about their arguments.\& .P The number attribute defines the minimum number of workspaces.\& Default is 1.\& The number attribute is optional.\& If the number attribute is specified, names.\&name is not required.\& .P .RE \fB\fR .RS 4 Define the timeout after which to hide the workspace OSD.\& A setting of 0 disables the OSD.\& Default is 1000 ms.\& .P .RE .SS THEME .P \fB\fR .RS 4 The name of the Openbox theme to use.\& It is not set by default.\& .P .RE \fB\fR .RS 4 The radius of server side decoration top corners.\& Default is 8.\& .P .RE \fB\fR [yes|no] .RS 4 Even when disabling server side decorations via ToggleDecorations, keep a small border (and resize area) around the window.\& Default is yes.\& .P .RE \fB\fR .RS 4 The font to use for a specific element of a window, menu or OSD.\& Places can be any of: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} ActiveWindow - titlebar of active window .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} InactiveWindow - titlebar of all windows that aren'\&t focused by the cursor .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} MenuItem - menu item (currently only root menu) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} OnScreenDisplay - items in the on screen display .RE .RE If no place attribute is provided, the setting will be applied to all .RS 4 places.\& .P .RE \fB\fR .RS 4 Describes font name.\& Default is sans.\& .P .RE \fB\fR .RS 4 Font size in pixels.\& Default is 10.\& .P .RE \fB\fR .RS 4 Font slant (normal or italic).\& Default is normal.\& .P .RE \fB\fR .RS 4 Font weight (normal or bold).\& Default is normal.\& .P .RE .SS MARGIN .P \fB\fR .RS 4 Specify the number of pixels to reserve at the edges of an output (typically a dislay/screen/monitor).\& New, maximized and tiled windows will not be placed in these areas.\& The use-case for \fB\fR is as a workaround for clients such as panels that do NOT support the wlr-layer-shell protocol.\& .P \fBoutput\fR is optional; if this attribute is not provided (rather than leaving it an empty string) the margin will be applied to all outputs.\& .P .RE .SS RESIZE .P \fB\fR [Never|Always|Nonpixel] .RS 4 Show a small indicator on top of the window when resizing or moving.\& When the application sets size-hints (usually X11 terminal emulators), the indicator will show the dimensions divided by size hints instead.\& In the case of terminal emulators this usually means columns x rows.\& .P The different values mean: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBNever\fR Do not render the indicator .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBAlways\fR Render the indicator while moving and resizing windows .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} \fBNonpixel\fR Only render the indicator during resize for windows using size-hints .RE .P Default is Never.\& .P .RE .SS KEYBOARD .P \fB\fR [on|off] .RS 4 When recognizing a new keyboard enable or disable Num Lock.\& Default is on.\& .P .RE \fB\fR [global|window] .RS 4 Stores the keyboard layout either globally or per window and restores it when switching back to the window.\& Default is global.\& .P .RE \fB\fR .RS 4 Define a \fBkey\fR binding in the format \fBmodifier-key\fR, where supported modifiers are: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} S (shift) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} C (control) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} A or Mod1 (alt) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} H or Mod3 (hyper) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} W or Mod4 (super / logo) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} M or Mod5 (meta) .RE .P Multiple modifiers can be combined like \fBA-S-f\fR for Alt-Shift-f.\& The key itself can be any unicode character or a keyname like \fBReturn\fR.\& .P Unlike Openbox, multiple space-separated key combinations and key-chains are not supported.\& The application "wev" (wayland event viewer) is packaged in a lot of distributions and can be used to view all available keynames.\& .P \fBlayoutDependent\fR [yes|no] Make this specific keybind depend on the currently active keyboard layout.\& If enabled, a keybind using a key which does not exist in the currently active layout will not be executed.\& The physical key to trigger a keybind may also change along with the active layout.\& If set to "no" (or is absent) the keybind will be layout agnostic.\& Default is no.\& .P .RE \fB\fR .RS 4 Keybind action.\& See labwc-action(5) .P .RE \fB\fR .RS 4 Load the default keybinds listed below.\& This is an addition to the openbox specification and provides a way to keep config files simpler whilst allowing your specific keybinds.\& Note that if no rc.\&xml is found, or if no entries exist, the same default keybinds will be loaded even if the element is not provided.\& .P .RE .nf .RS 4 A-Tab - next window W-Return - alacritty A-F3 - run bemenu A-F4 - close window W-a - toggle maximize A- - move window to edge W- - resize window to fill half the output .fi .RE .P .RS 4 Audio and MonBrightness keys are also bound to amixer and brightnessctl respectively .P .RE \fB\fR .RS 4 Set the rate at which keypresses are repeated per second.\& Default is 25.\& .P .RE \fB\fR .RS 4 Set the delay before keypresses are repeated in milliseconds.\& Default is 600.\& .P .RE .SS MOUSE .P \fB\fR .RS 4 Set double click time in milliseconds.\& Default is 500.\& .P .RE \fB\fR .RS 4 Set scroll factor.\& Default is 1.\&0.\& .P .RE \fB\fR .RS 4 Multiple \fB\fR can exist within one \fB\fR; and multiple \fB\fR can exist within one \fB\fR .P Define a mouse binding.\& Supported context-names include: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} TitleBar: The decoration on top of the window, where the window buttons and the window title are shown.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Title: The area of the titlebar (including blank space) between the window buttons, where the window title is displayed.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} WindowMenu: The button on the left.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Iconify: The button that looks like an underline.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Maximize: The button that looks like a box.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Close: The button that looks like an X.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Top: The top edge of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Bottom: The bottom edge of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Left: The left edge of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Right: The right edge of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} TRCorner: The top-right corner of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} TLCorner: The top-left corner of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} BLCorner: The bottom-left corner of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} BRCorner: The bottom-right edge of the window'\&s border.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Client: The client area of a window, inside its decorations.\& Events bound to Client are also passed to applications.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Frame: Any part of a window, but events bound to Frame are not passed through to the application.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Desktop: The desktop background, where no windows are present.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Root: A synonym for Desktop (for compatibility).\& .RE .P Supported mouse \fBbuttons\fR are: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Left .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Middle .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Right .RE .P Supported scroll \fBdirections\fR are: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Up .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Down .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Left .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Right .RE .P Mouse buttons and directions can be combined with modifier-keys (shift (S), super/logo (W), control (C), alt (A), meta (M) and hyper (H)), for example: .P Supported mouse \fBactions\fR include: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Press: Pressing the specified button down in the context.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Release: Releasing the specified button in the context.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Click: Pressing and then releasing inside of the the context.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} DoubleClick: Two presses within the doubleClickTime.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Drag: Pressing the button within the context, then moving the cursor.\& .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Scroll: Scrolling in specified \fBdirection\fR in the context.\& .RE .P .RE \fB\fR .RS 4 Load default mousebinds.\& This is an addition to the openbox specification and provides a way to keep config files simpler whilst allowing user specific binds.\& Note that if no rc.\&xml is found, or if no entries exist, the same default mousebinds will be loaded even if the element is not provided.\& .P .RE .SS LIBINPUT .P \fB\fR .RS 4 Define a category of devices to use the configuration values that follow.\& The category can be set to touch (devices that define a width and height), non-touch, default, or the name of a device.\& You can obtain your devices name by running \fBlibinput list-devices\fR (you may need to be root or a part of the input group to perform this.\&) Any members of this category that are not set use the default for the device.\& With the exception of tap-to-click, which is enabled by default.\& .P .RE \fB\fR [yes|no] .RS 4 Use natural scrolling for this category if available.\& .P .RE \fB\fR [yes|no] .RS 4 Use your devices left-handed mode if available.\& .P .RE \fB\fR [-1.\&0 to 1.\&0] .RS 4 Set the pointer speed for this category.\& The speed is a number between -1.\&0 and 1.\&0, with 0.\&0 being the default in most cases, and 1.\&0 being the fastest.\& .P .RE \fB\fR [flat|adaptive] .RS 4 Set the pointer'\&s acceleration profile for this category.\& Flat applies no acceleration (the pointers velocity is constant), while adaptive changes the pointers speed based the actual speed of your mouse or finger on your touchpad.\& .P .RE \fB\fR [yes|no] .RS 4 Enable or disable tap-to-click for this category.\& This is enabled by default for all categories.\& .P .RE \fB\fR [lrm|lmr] .RS 4 Set the buttons mapped to one-, two-, and three-finger taps to the left button, right button, and middle button, respectively (lrm) (the default), or to left button, middle button, and right button (lmr).\& .P .RE \fB\fR [yes|no] .RS 4 Enable or disable tap-and-drag for this category.\& Tap-and-drag processes a tap immediately followed by a finger down as the start of a drag.\& .P .RE \fB\fR [yes|no] .RS 4 Enable or disable drag lock for this category.\& Drag lock ignores a momentary release of a finger during tap-and-dragging.\& .P .RE \fB\fR [yes|no] .RS 4 Enable or disable middle button emulation for this category.\& Middle emulation processes a simultaneous left and right click as a press of the middle mouse button (scroll wheel).\& .P .RE \fB\fR [yes|no] .RS 4 Enable or disable disable while typing for this category.\& DWT ignores any motion events while a keyboard is typing, and for a short while after as well.\& .P .RE .SS WINDOW RULES .P Two types of window rules are supported, actions and properties.\& They are defined as shown below.\& .P .nf .RS 4 .fi .RE .P \fBCriteria\fR .P \fB\fR .RS 4 Define a window rule for any window which matches the criteria defined by the attributes \fBidentifier\fR or \fBtitle\fR.\& If both are defined, AND logic is used, so both have to match.\& Matching against patterns with '\&*'\& (wildcard) and '\&?\&'\& (joker) is supported.\& Pattern matching is case-insensitive.\& .P \fBidentifier\fR relates to app_id for native Wayland windows and WM_CLASS for XWayland clients.\& .P \fBtitle\fR is the title of the window.\& .P \fBmatchOnce\fR can be true|false.\& If true, the rule will only apply to the first instance of the window with the specified identifier or title.\& .P .RE \fBProperties\fR .P Property values can be \fByes\fR, \fBno\fR or \fBdefault\fR.\& .P If a window matches criteria for multiple rules which set the same property, later config entries have higher priority.\& \fBdefault\fR can be useful in this situation.\& .P \fB\fR [yes|no|default] .RS 4 \fBserverDecoration\fR over-rules any other setting for server-side window decoration on first map.\& .P .RE \fB\fR [yes|no|default] .RS 4 \fBskipTaskbar\fR removes window foreign-toplevel protocol handle so that it does not appear in clients such as panels and taskbars using that protocol.\& .P .RE \fB\fR [yes|no|default] .RS 4 \fBskipWindowSwitcher\fR removes window from the Window Switcher (alt-tab on-screen-display) .P .RE \fB\fR [yes|no|default] .RS 4 \fBignoreFocusRequest\fR prevent window to activate itself.\& .P .RE \fB\fR [yes|no|default] .RS 4 \fBfixedPosition\fR disallows interactive move/resize and prevents re-positioning in response to changes in reserved output space, which can be caused by \fB\fR settings or exclusive layer-shell clients such as panels.\& .P .RE .SS ENVIRONMENT VARIABLES .P \fBXCURSOR_THEME\fR and \fBXCURSOR_SIZE\fR are supported to set cursor theme and size respectively.\& The default size is 24.\& System cursor themes can typically be found with a command such as: .P .nf .RS 4 find /usr/share/icons/ -type d -name "cursors" .fi .RE .P The following keyboard-configuration variables are supported: \fBXKB_DEFAULT_RULES\fR, \fBXKB_DEFAULT_MODEL\fR, \fBXKB_DEFAULT_LAYOUT\fR, \fBXKB_DEFAULT_VARIANT\fR and \fBXKB_DEFAULT_OPTIONS\fR.\& .P See xkeyboard-config(7) for details.\& .P .SH SEE ALSO .P labwc(1), labwc-actions(5), labwc-theme(5)