labwc-config(5) File Formats Manual labwc-config(5) (NAME) labwc-config - labwc (DESCRIPTION) labwc openbox-3.6 . labwc : rc.xml menu.xml autostart shutdown environment xinitrc. labwc . << XDG>> (XDG Base Directory Specification) : o ${XDG_CONFIG_HOME:-$HOME/.config}/labwc o ${XDG_CONFIG_DIRS:-/etc/xdg}/labwc $XDG_CONFIG_HOME $HOME/.config ( ). $XDG_CONFIG_DIRS /etc/xdg . XDG () () . labwc () . --merge-config . . -C . autostart shutdown SIGHUP . environment variable=value . / . << XDG>> <> "environment.d/*.env" . environment.d . --merge-config "environment" "environment.d/*.env" labwc XDG . : Openbox Openbox source . labwc --reconfigure . $VARIABLE ${VARIABLE} (~) . '#' (comment) . . labwc () / ( FOO=$FOO:bar) . autostart labwc . WAYLAND_DISPLAY ( labwc Xwayland ) DISPLAY . labwc . shutdown labwc . WAYLAND_DISPLAY DISPLAY . . labwc . menu.xml / labwc-menu(5) . rc.xml labwc-theme(5) . rc.xml . xinitrc labwc X11 Xwayland . Xwayland X11 . (CONFIGURATION) rc.xml . (SYNTAX) : labwc XML (attribute/element agnostic) . . `c` `` . : 1. menu.xml id label execute (attribute) . 2. . place name size place . . : Execute foot foot ' " `` : sh -c 'grim -g "`slurp`"' . ( ) (element) . (BOOLEANS) [yes|no] [true|false] / [on|off] Openbox . (CORE) server 0 no no yes no no no yes [see details below] [see details below] [server|client] (server side) (client side) xdg-shell . . server . MoveToEdge. 0 . [yes|no|fullscreen] (adaptive sync) . no . fullscreen . [yes|no|fullscreen|fullscreenForced] (tearing) . no . yes . fullscreen . fullscreenForced . ToggleTearing . : (atomic mode setting) . WLR_DRM_NO_ATOMIC=1 labwc . [yes|no] . drm . yes . : labwc `wlr-randr` `kanshi` . ( `wlopm -off`) ( ) ( labwc ). : o no o kanshi ( autostart) o swayidle kanshi : swayidle -w timeout 600 'pkill kanshi ; wlopm --off *' resume 'kanshi & wlopm --on *' [yes|no] HDR . no . Vulkan . `WLR_RENDERER=vulkan` `~/.config/labwc/environment` . [yes|no] ( / ) . labwc ( flicker free boot ). labwc . no . [yes|no] XWayland (lazy) . no . : labwc . [yes|no] (primary selection) . . ( /) Chromium electron . yes . () . : o %m: o %n: <<>> ( ) o %y: <<>> ( ) o %b: osd.bg.color o %t: osd.label.text.color : labnag --message '%m' --button-dismiss '%n' --button-dismiss '%y' --background-color '%b' --text-color '%t' --button-border-color '%t' --border-bottom-color '%t' --button-background-color '%b' --button-text-color '%t' --border-bottom-size 1 --button-border-size 3 --keyboard-focus on-demand --layer overlay --timeout 0 : : zenity --question --text="%m" : zenity : zenity --question --title="" --text="%m" --ok-label="%y" --cancel-label="%n" . (STDIN) SIGTERM . : labnag --message 'Config errors detected' --button-dismiss 'Close' --layer overlay --timeout 0 --detailed-message `zenity`: zenity --title='Config Error' --text-info (PLACEMENT) cascade [center|automatic|cursor|cascade] . "center" . "automatic" . "cursor" . "cascade" - . "cascade" . (offset) "cascade" . . ( titlebar.height border.width ) x y . (WINDOW SWITCHER) preview [yes|no] . yes . outlines [yes|no] . yes . unshade [yes|no] (unshade) . yes . order [focus|age] . focus . age / . focus . show [yes|no] (OnScreenDisplay OSD) . yes . style [classic|thumbnail] OSD . "classic" . "thumbnail" . output [all|focused|cursor] OSD . "all" OSD . "focused" OSD . "cursor" OSD . "all" . thumbnailLabelFormat custom . "%T" . . content : o type ("xdg-shell" "xwayland") o identifier (app_id Wayland WM_CLASS XWayland) o trimmed_identifier . 'org.' . o icon o desktop_entry_name freedesktop.org. (trimmed_identifier) . o title o workspace o state M/m/F (//) o type_short ("W" "X") o output o custom printf : o 'B' - [xwayland|xdg-shell] o 'b' - ( ) [X|W] o 'S' - [m|s|M|F] ( ) ( ) o 's' - ( ) [m|s|M|F] ( ) o 'I' - wm-class/app-id o 'i' - wm-class/app-id "org." o 'n' - wm-class/app-id o 'W' - o 'w' - ( ) o 'O' - o 'o' - ( ) o 'T' - o 't' - ( wm-class/app-id ) (monospace) . o custom - printf -- man 3 printf o o "%10" o "%-" o "%" "%-" o %-10 o . . width . "%" . (RESISTANCE) . . ( ) (snap). <<>> . . . . . 20 . . 150 . (FOCUS) [yes|no] . no . [yes|no] followMouse . "underMouse" Openbox . "no" labwc ( / ) . A-Tab "no" . yes . [yes|no] . no . [] raiseOnFocus . 0 ( ). . followMouse z-order . (WINDOW SNAPPING) SnapToEdge (<> ). . inner outer . inner outer . . inner outer . 10 50 . [yes|no] (overlay) . yes . . 500 . inner outer . [yes|no] yes (maximize) . no . yes . [always|region|edge|never] (tiling) Wayland . . letter-box pillar-box . o always . o region . o edge . o never . "always" . (REGIONS) . . layershell . "%" . (Ctrl Alt Shift Logo) SnapToRegion . . (WORKSPACES) . . GoToDesktop SendToDesktop . labwc-actions(5) . number . 1 . number . number names.name . . . . OSD . 0 OSD . 1000 . "number" . "Workspace" . (THEME) Openbox . . . . ( ) (fallback) . "=Icon" . 'labwc' . . : o 'icon': o 'menu': o 'iconify': (minimize) o 'max': (maximize toggle) o 'close': o 'shade': (shade toggle) o 'desk': (all-desktops toggle) (:) (,) . . : icon:iconify,max,close [yes|no] . yes . . 8 . [yes|no] ToggleDecorations ( ) . yes . [titlebar|none] . titlebar . none . titlebar . [yes|no] (drop-shadows) . no . [yes|no] . window.active.shadow.size . no . OSD. (places) : o ActiveWindow - o InactiveWindow - o MenuHeader - o MenuItem - ( ) o OnScreenDisplay - (OSD) place . . sans . . 10 . (normal oblique italic). normal . (normal thin ultralight light semilight book medium semibold bold ultrabold heavy ultraheavy). normal . (MARGIN) ( /) . . wlr-layer-shell . output ( ) . (RESIZE) [Never|Always|Nonpixel] . (size-hints) ( X11) . . : o Never o Always o Nonpixel size-hints Never . [yes|no] . . yes . 'TLCorner' 'TRCorner' 'BLCorner' 'RLCorner' . . . . 8 . (INPUT CONFIGURATION) : o o () o ( ) o (Touchscreens) o o ( ) . . . (pointer) . libinput . (gesture) (swipe) (pinch) . ( threeFingerDrag twoFingerScroll) . Wayland (touch) . . libinput labwc . () . libinput Wayland . . tablet libinput ( labwc) ( Wacom Intuos) Apple iPad. : o https://wayland.freedesktop.org/libinput/doc/latest/tablet-support.html o https://wayland.freedesktop.org/libinput/doc/latest/gestures.html (KEYBOARD) [on|off] Num Lock . . [global|window] . global . (key) modifier-key (modifier) : o S ( - shift) o C ( - control) o A Mod1 ( - alt) o H Mod3 ( - hyper) o W Mod4 ( / - super / logo) o M Mod5 ( - meta) A-S-f Alt-Shift-f. Return . Openbox . "wev" ( wayland) . : o (Keycode) ( layoutDependent ) o (keysym) ( Shift+1 us keysym '!' ) o (raw keysym) ( '1' ) : o ( ). . o a a o. o (numpad) NumLock: KP_x. . o `S-1` ( ). layoutDependent [yes|no] . . . "no" ( ) . no . allowWhenLocked [yes|no] . no . overrideInhibition [yes|no] (inhibit ) . W-Tab VNC . no . onRelease [yes|no] yes . . no . (Super) rofi : . labwc-actions(5) . . openbox . rc.xml . A-Tab - A-S-Tab - W-Return - lab-sensible-terminal A-F4 - W-a - (maximize) W-d - (show-desktop) W- - A-Space - Audio MonBrightness pactl brightnessctl . . 25 . . 600 . (MOUSE) - Wayland (pointer) . . 500 . . . (context-names) : o TitleBar: . o Title: ( ) . o Icon: . o WindowMenu: . o Iconify: (minimize) . o Maximize: . o Shade: . o AllDesktops: . o Close: . o Border: Top...BRCorner . o Top: . o Bottom: . o Left: . o Right: . o TRCorner: - . o TLCorner: - . o BLCorner: - . o BRCorner: - . o Client: . Client . o Frame: Frame . o Desktop: . o Root: Desktop ( ). o All: . (buttons) : o Left o Middle o Right o Side o Extra o Forward o Back o Task (directions) : o Up o Down o Left o Right (shift (S) super/logo (W) control (C) alt (A) meta (M) hyper (H)) : ... ... (actions) : o Press: . o Release: . o Click: . o DoubleClick: doubleClickTime. o Drag: . o Scroll: (direction) . Logo + Shift + ScrollUp: Super + : . openbox . rc.xml . (TOUCH) (touchscreens) . : calibrationMatrix libinput . . (fallback) . . libinput . . (nested) . mouseEmulation up/down/motion . (TABLET) . . / . [0|90|180|270] . (0) . . calibrationMatrix libinput . . area . . top/left ( ) / width/height ( ) . width height (0.0) width/height / top/left . : x . height "90" 215 * 1440 / 3440 = 90 : . top "12.5" . [yes|no] . (drag-and-drop) . ToggleTabletMouseEmulation . . "no" . (buttons) : o Stylus o Stylus2 o Stylus3 (to): o Right o Middle o Side (Tip) . . . (Stylus) (Stylus2) . () . (buttons) : o Tip o Stylus o Stylus2 o Stylus3 o Left..Task o Pad o Pad2..Pad9 . (TABLET TOOL) [absolute|relative] mouse lens ("absolute") . motion . . relativeMotionSensitivity . 1.0 1.0 . "1.0" . minPressure maxPressure . 1.0 . 0 1.0 . LIBINPUT yes 1.0 () libinput. CATEGORY ( ) . category . category 'default' fallback libinput . Category : o touch - . o touchpad - ( ). o non-touch - . o default - . fallback . category . libinput list-devices ( root input ). [yes|no] (natural scrolling) . [yes|no] . [-1.0 1.0] . -1.0 1.0 0.0 1.0 . [flat|adaptive] . Flat ( ) adaptive . [yes|no] (tap-to-click) . . [lrm|lmr] (lrm) () (lmr) . [yes|no] (tap-and-drag) . tap-and-drag . [yes|no|timeout] (drag lock) . tap-and-drag . timeout : . libinput < 1.27 yes timeout . [yes|no|3|4] . . : o no - . o yes | 3 - . o 4 - . [yes|no] . ( ) . [yes|no] (disable while typing DWT) . DWT . [none|buttonAreas|clickfinger] . : o buttonAreas - . . o clickfinger - . o none - . . [none|twofinger|edge|onbutton] . : o twofinger - . o edge - ( ) ( ). o onbutton - . o none - . . [button] onbutton . button `linux/input-event-codes.h` . [yes|no|disabledOnExternalMouse] . : o yes - o no - o disabledOnExternalMouse - . Reconfigure / . . [ ] x . . [a b c d e f] : [ a b c ] [ x ] [ d e f ] * [ y ] [ 0 0 1 ] [ 1 ] The most common matrices are: 90 deg cw: 180 deg cw: 270 deg cw: reflect along y axis: [ 0 -1 1] [ -1 0 1] [ 0 1 0 ] [ -1 0 1 ] [ 1 0 0] [ 0 -1 1] [ -1 0 1 ] [ 1 0 0 ] [ 0 0 1] [ 0 0 1] [ 0 0 1 ] [ 0 0 1 ] https://wayland.freedesktop.org/libinput/doc/latest/absolute-axes.html#calibration-of-absolute-devices . 1.0 . (WINDOW RULES) : . . (Criteria) identifier title type . AND . (case-insensitive) ( glob(7) ) '*' ( ) '?' . identifier app_id Wayland WM_CLASS XWayland . title . sandboxEngine (security context) . sandboxAppId . type [desktop|dock|toolbar|menu|utility|splash|dialog|dropdown_menu| popup_menu|tooltip|notification|combo|dnd|normal] NET_WM_WINDOW_TYPE XWayland . Wayland "dialog" "normal" . matchOnce true|false . true . (Properties) yes no default . . default . [yes|no|default] serverDecoration (over-rule). [yes|no|default] skipTaskbar foreign-toplevel . [yes|no|default] skipWindowSwitcher ( OSD alt-tab) . [yes|no|default] ignoreFocusRequest . [yes|no|default] ignoreConfigureRequest X11 . [yes|no|default] allowAlwaysOnTop X11 << >> ('above' X11) . : X11 . . [yes|no|default] fixedPosition / ( ) . [client|server] labwc app-id .desktop . labwc xdg-toplevel-icon wayland _NET_WM_ICON X11 . . server . (MENU) 250 yes ( ) . -- ( ) . . . `` Openbox . 250 . `icon` . yes . libsfdo labwc . (MAGNIFIER) 400 400 2 0.2 true . 400 . -1 . . 400 . -1 . . 'ZoomIn' 'ZoomOut' . x2.0 . 'ZoomIn' 'ZoomOut' . 0.2 . [yes|no|default] (bilinear) (nearest-neighbour). true - . (PRIVILEGED INTERFACES) labwc wayland . security-context-v1 . ( labwc) dbus . `` : zwlr_layer_shell_v1 zwlr_virtual_pointer_manager_v1 . : o `wp_drm_lease_device_v1` o `zwlr_gamma_control_manager_v1` o `zwlr_output_manager_v1` o `zwlr_output_power_manager_v1` o `zwp_input_method_manager_v2` o `zwlr_virtual_pointer_manager_v1` o `zwp_virtual_keyboard_manager_v1` o `zwlr_export_dmabuf_manager_v1` o `zwlr_screencopy_manager_v1` o `ext_data_control_manager_v1` o `zwlr_data_control_manager_v1` o `wp_security_context_manager_v1` o `ext_idle_notifier_v1` o `zwlr_foreign_toplevel_manager_v1` o `ext_foreign_toplevel_list_v1` o `ext_session_lock_manager_v1` o `zwlr_layer_shell_v1` o `ext_workspace_manager_v1` o `ext_image_copy_capture_manager_v1` o `ext_output_image_capture_source_manager_v1` (ENVIRONMENT VARIABLES) XCURSOR_PATH (:) . : ~/.local/share/icons: ~/.icons: /usr/share/icons: /usr/share/pixmaps: ~/.cursors: /usr/share/cursors/xorg-x11: /usr/X11R6/lib/X11/icons: XCURSOR_SIZE . XCURSOR_THEME . 24 . XCURSOR_THEME XCURSOR_PATH . : find /usr/share/icons/ -type d -name "cursors" : XKB_DEFAULT_RULES XKB_DEFAULT_MODEL XKB_DEFAULT_LAYOUT XKB_DEFAULT_VARIANT XKB_DEFAULT_OPTIONS. xkeyboard-config(7) . (SEE ALSO) labwc(1), labwc-actions(5), labwc-theme(5) 2026-08-22 labwc-config(5)