2021-03-05 22:14:02 +00:00
|
|
|
labwc-config(5)
|
|
|
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
|
2022-05-31 21:53:45 +01:00
|
|
|
labwc - configuration files
|
2021-03-05 22:14:02 +00:00
|
|
|
|
|
|
|
|
# CONFIGURATION
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
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.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
No configuration files are needed to start and run labwc.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
In accordance with XDG Base Directory Specification, configuration files are
|
|
|
|
|
searched for in the following order:
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
- ${XDG_CONFIG_HOME:-$HOME/.config}/labwc
|
|
|
|
|
- ${XDG_CONFIG_DIRS:-/etc/xdg}/labwc
|
2021-07-16 17:30:07 +01:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
All configuration and theme files except autostart are re-loaded on receiving
|
|
|
|
|
signal SIGHUP.
|
|
|
|
|
|
|
|
|
|
The *autostart* file is executed as a shell script. This is the place for
|
|
|
|
|
executing clients for handling background images, panels and similar.
|
|
|
|
|
|
|
|
|
|
The *environment* file is parsed as *variable=value* 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.
|
|
|
|
|
|
|
|
|
|
The *menu.xml* file defines the context/root-menus and is described in
|
|
|
|
|
labwc-menu(5)
|
|
|
|
|
|
|
|
|
|
There is a small <theme> section in rc.xml, for example to set rouned corners,
|
|
|
|
|
but the remainder of the theme specification and associated files are described
|
|
|
|
|
in labwc-theme(5).
|
|
|
|
|
|
|
|
|
|
*rc.xml* is the main configuration file and all its options are described in
|
|
|
|
|
detail below. Configuration must be wrapped in a <labwc_config> root-element,
|
|
|
|
|
like this:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
<?xml version="1.0"?>
|
|
|
|
|
<labwc_config>
|
|
|
|
|
|
|
|
|
|
<!-- settings -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</labwc_config>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The rest of this man page describes configuration options.
|
|
|
|
|
|
|
|
|
|
## CORE
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2021-07-16 17:38:17 +01:00
|
|
|
*<core><decoration>* [server|client]
|
|
|
|
|
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.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2021-08-22 14:32:19 +01:00
|
|
|
*<core><gap>*
|
2021-08-22 19:09:31 +01:00
|
|
|
The distance in pixels between views and output edges when using
|
|
|
|
|
movement actions, for example MoveToEdge. Default is 0.
|
2021-08-22 14:32:19 +01:00
|
|
|
|
2021-10-22 20:23:09 +01:00
|
|
|
*<core><adaptiveSync>* [yes|no]
|
|
|
|
|
Enable adaptive sync. Default is no.
|
|
|
|
|
|
2022-01-20 11:38:23 -08:00
|
|
|
*<core><cycleViewPreview>* [yes|no]
|
|
|
|
|
Preview the contents of the selected window when cycling between windows.
|
|
|
|
|
Default is no.
|
|
|
|
|
|
2022-08-24 20:27:08 +02:00
|
|
|
*<core><cycleViewOutlines>* [yes|no]
|
|
|
|
|
Draw an outline around the selected window when cycling between windows.
|
|
|
|
|
Default is yes.
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## RESISTANCE
|
2022-05-31 21:57:00 +01:00
|
|
|
|
|
|
|
|
*<resistance><screenEdgeStrength>*
|
|
|
|
|
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.
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## FOCUS
|
2021-05-28 21:50:27 +01:00
|
|
|
|
|
|
|
|
*<focus><followMouse>* [yes|no]
|
2021-10-19 21:47:47 +01:00
|
|
|
Make focus follow mouse, i.e. focus is given to window under mouse
|
|
|
|
|
cursor. Default is no.
|
2021-05-28 21:50:27 +01:00
|
|
|
|
|
|
|
|
*<focus><raiseOnFocus>* [yes|no]
|
2021-12-29 14:04:41 +00:00
|
|
|
Raise window to top when focused. Default is no.
|
2021-05-28 21:50:27 +01:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## WINDOW SNAPPING
|
2022-06-15 02:07:22 +02:00
|
|
|
|
2022-01-29 21:49:00 +01:00
|
|
|
*<snapping><range>*
|
|
|
|
|
The distance in pixels from the edge of an ouput for window Move
|
|
|
|
|
operations to trigger SnapToEdge. A range of 0 disables window snapping.
|
|
|
|
|
Default is 1.
|
|
|
|
|
|
|
|
|
|
*<snapping><topMaximize>* [yes|no]
|
|
|
|
|
Maximize window if Move operation ends on the top edge. Default is yes.
|
|
|
|
|
|
2022-06-15 02:07:22 +02:00
|
|
|
## WORKSPACES
|
|
|
|
|
|
|
|
|
|
*<desktops><names><name>*
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
*<desktops><popupTime>*
|
|
|
|
|
Define the timeout after which to hide the workspace OSD.
|
|
|
|
|
A setting of 0 disables the OSD. Default is 1000 ms.
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## THEME
|
2021-03-05 22:14:02 +00:00
|
|
|
|
|
|
|
|
*<theme><name>*
|
2021-10-19 21:47:47 +01:00
|
|
|
The name of the Openbox theme to use. It is not set by default.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2021-03-30 22:39:52 +01:00
|
|
|
*<theme><cornerRadius>*
|
|
|
|
|
The radius of server side decoration top corners. Default is 8.
|
|
|
|
|
|
2021-03-05 22:14:02 +00:00
|
|
|
*<theme><font place="">*
|
|
|
|
|
The font to use for a specific element of a window, menu or OSD.
|
2021-07-20 20:06:48 +01:00
|
|
|
Places can be any of:
|
2021-03-05 22:14:02 +00:00
|
|
|
- ActiveWindow - titlebar of active window
|
2021-08-20 20:27:52 +01:00
|
|
|
- MenuItem - menu item (currently only root menu)
|
2021-12-06 17:44:28 -05:00
|
|
|
- OSD - items in the on screen display
|
2021-07-20 20:06:48 +01:00
|
|
|
If no place attribute is provided, the setting will be applied to all
|
|
|
|
|
places.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
|
|
|
|
*<theme><font place=""><name>*
|
|
|
|
|
Describes font name. Default is sans.
|
|
|
|
|
|
|
|
|
|
*<theme><font place=""><size>*
|
2021-08-20 20:27:52 +01:00
|
|
|
Font size in pixels. Default is 10.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## KEYBOARD
|
2021-03-05 22:14:02 +00:00
|
|
|
|
|
|
|
|
*<keyboard><keybind key="">*
|
|
|
|
|
Define a key binding in the format *modifier-key*, where supported
|
|
|
|
|
modifiers include S (shift); C (control); A (alt); W (super). Unlike
|
|
|
|
|
Openbox, multiple space-separated key combinations and key-chains are
|
|
|
|
|
not supported.
|
|
|
|
|
|
|
|
|
|
*<keyboard><keybind key=""><action name="">*
|
|
|
|
|
Keybind action. See labwc-action(5)
|
|
|
|
|
|
2021-08-22 19:09:31 +01:00
|
|
|
*<keyboard><default />*
|
|
|
|
|
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 <keyboard><keybind> entries
|
|
|
|
|
exist, the same default keybinds will be loaded even if the <default />
|
|
|
|
|
element is not provided.
|
2021-03-05 22:14:02 +00:00
|
|
|
|
|
|
|
|
```
|
2021-08-22 19:09:31 +01:00
|
|
|
A-Tab - next window
|
|
|
|
|
W-Return - alacritty
|
|
|
|
|
A-F3 - run bemenu
|
|
|
|
|
A-F4 - close window
|
|
|
|
|
W-a - toggle maximize
|
|
|
|
|
A-<arrow> - move window to edge
|
2021-10-19 21:39:26 +01:00
|
|
|
W-<arrow> - resize window to fill half the output
|
2021-03-05 22:14:02 +00:00
|
|
|
```
|
|
|
|
|
|
2021-10-19 21:39:26 +01:00
|
|
|
Audio and MonBrightness keys are also bound to amixer and
|
|
|
|
|
brightnessctl respectively
|
|
|
|
|
|
2021-10-15 12:14:07 -04:00
|
|
|
*<keyboard><repeatRate>*
|
2021-10-19 21:47:47 +01:00
|
|
|
Set the rate at which keypresses are repeated per second.
|
|
|
|
|
Default is 25.
|
2021-10-15 12:14:07 -04:00
|
|
|
|
|
|
|
|
*<keyboard><repeatDelay>*
|
2021-10-19 21:47:47 +01:00
|
|
|
Set the delay before keypresses are repeated in milliseconds.
|
|
|
|
|
Default is 600.
|
2021-10-15 12:14:07 -04:00
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## MOUSE
|
2021-09-06 22:16:19 +01:00
|
|
|
|
|
|
|
|
*<mouse><doubleClickTime>*
|
|
|
|
|
Set double click time in milliseconds. Default is 500.
|
|
|
|
|
|
2021-12-29 14:20:00 +00:00
|
|
|
*<mouse><context name=""><mousebind button=""><action>*
|
|
|
|
|
Multiple *<mousebind>* can exist within one *<context>*; and multiple
|
|
|
|
|
*<action>* can exist within one *<mousebind>*
|
|
|
|
|
|
2021-09-06 22:16:19 +01:00
|
|
|
Define a mouse binding. Supported context-names include:
|
2022-09-08 13:20:48 -04:00
|
|
|
- TitleBar: The decoration on top of the window, where the window
|
|
|
|
|
buttons and the window title are shown.
|
|
|
|
|
- Title: The area of the titlebar (including blank space) between
|
|
|
|
|
the window buttons, where the window title is displayed.
|
2022-01-26 00:07:10 +01:00
|
|
|
- WindowMenu: The button on the left.
|
2021-11-01 20:43:57 -04:00
|
|
|
- Iconify: The button that looks like an underline.
|
|
|
|
|
- Maximize: The button that looks like a box.
|
|
|
|
|
- Close: The button that looks like an X.
|
2021-12-11 22:57:47 +00:00
|
|
|
- Top: The top edge of the window's border.
|
|
|
|
|
- Bottom: The bottom edge of the window's border.
|
|
|
|
|
- Left: The left edge of the window's border.
|
|
|
|
|
- Right: The right edge of the window's border.
|
|
|
|
|
- TRCorner: The top-right corner of the window's border.
|
|
|
|
|
- TLCorner: The top-left corner of the window's border.
|
|
|
|
|
- BLCorner: The bottom-left corner of the window's border.
|
|
|
|
|
- BRCorner: The bottom-right edge of the window's border.
|
2021-12-11 23:12:05 +00:00
|
|
|
- Client: The client area of a window, inside its decorations.
|
|
|
|
|
Events bound to Client are also passed to applications.
|
|
|
|
|
- Frame: Any part of a window, but events bound to Frame are not passed
|
|
|
|
|
through to the application.
|
|
|
|
|
- Desktop: The desktop background, where no windows are present.
|
|
|
|
|
- Root: A synonym for Desktop (for compatibility).
|
2021-11-01 20:43:57 -04:00
|
|
|
|
2021-12-11 22:57:47 +00:00
|
|
|
Supported mouse buttons are:
|
|
|
|
|
- Left
|
|
|
|
|
- Middle
|
|
|
|
|
- Right
|
|
|
|
|
|
2021-11-01 20:43:57 -04:00
|
|
|
Supported mouse actions include:
|
|
|
|
|
- Press: Pressing the specified button down in the context.
|
|
|
|
|
- Release: Releasing the specified button in the context.
|
|
|
|
|
- Click: Pressing and then releasing inside of the the context.
|
|
|
|
|
- DoubleClick: Two presses within the doubleClickTime.
|
2022-01-07 15:53:13 -05:00
|
|
|
- Drag: Pressing the button within the context, then moving the cursor
|
2021-09-06 22:16:19 +01:00
|
|
|
|
2022-08-29 23:43:13 +02:00
|
|
|
*<mouse><default />*
|
|
|
|
|
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
|
|
|
|
|
<mouse><mousebind> entries exist, the same default mousebinds will be
|
|
|
|
|
loaded even if the <default /> element is not provided.
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## LIBINPUT
|
2021-10-15 12:14:07 -04:00
|
|
|
|
|
|
|
|
*<libinput><device category="">*
|
|
|
|
|
Define a category of devices to use the configuration values that
|
2021-10-19 21:47:47 +01:00
|
|
|
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
|
2021-10-15 12:14:07 -04:00
|
|
|
your devices name by running *libinput list-devices* (you may need to
|
|
|
|
|
be root or a part of the input group to perform this.) Any members of
|
2021-10-19 21:47:47 +01:00
|
|
|
this category that are not set use the default for the device. With the
|
2021-10-15 12:14:07 -04:00
|
|
|
exception of tap-to-click, which is enabled by default.
|
|
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput><device category=""><naturalScroll>* [yes|no]
|
2021-10-15 12:14:07 -04:00
|
|
|
Use natural scrolling for this category if available.
|
|
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput><device category=""><leftHanded>* [yes|no]
|
2021-10-15 12:14:07 -04:00
|
|
|
Use your devices left-handed mode if available.
|
|
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput><device category=""><pointerSpeed>* [\-1.0 to 1.0]
|
2021-10-15 12:14:07 -04:00
|
|
|
Set the pointer speed for this category. The speed is a number between
|
2021-10-19 21:47:47 +01:00
|
|
|
\-1.0 and 1.0, with 0.0 being the default in most cases, and 1.0 being
|
|
|
|
|
the fastest.
|
2021-10-15 12:14:07 -04:00
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput><device category=""><accelProfile>* [flat|adaptive]
|
2021-10-15 12:14:07 -04:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
*<libinput><device category=""><tap>* [yes|no]
|
|
|
|
|
Enable or disable tap-to-click for this category. This is enabled by
|
|
|
|
|
default for all categories.
|
|
|
|
|
|
2021-12-12 22:12:46 +00:00
|
|
|
*<libinput><device category=""><tapButtonMap>* [lrm|lmr]
|
|
|
|
|
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).
|
|
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput><device category=""><middleEmulation>* [yes|no]
|
2021-10-15 12:14:07 -04:00
|
|
|
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).
|
|
|
|
|
|
2021-10-19 21:44:44 +01:00
|
|
|
*<libinput>device category=""><disableWhileTyping>* [yes|no]
|
2021-10-15 12:14:07 -04:00
|
|
|
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.
|
|
|
|
|
|
2022-05-31 22:37:26 +01:00
|
|
|
## ENVIRONMENT VARIABLES
|
|
|
|
|
|
|
|
|
|
*XCURSOR_THEME* and *XCURSOR_SIZE* 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:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
find /usr/share/icons/ -type d -name "cursors"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
The following keyboard-configuration variables are supported:
|
|
|
|
|
*XKB_DEFAULT_RULES*, *XKB_DEFAULT_MODEL*, *XKB_DEFAULT_LAYOUT*,
|
|
|
|
|
*XKB_DEFAULT_VARIANT* and *XKB_DEFAULT_OPTIONS*.
|
|
|
|
|
|
|
|
|
|
See xkeyboard-config(7) for details.
|
|
|
|
|
|
2021-03-05 22:14:02 +00:00
|
|
|
# SEE ALSO
|
|
|
|
|
|
|
|
|
|
labwc(1), labwc-actions(5), labwc-theme(5)
|