Merge branch 'master' into mouseemu

This commit is contained in:
Simon Long 2024-10-20 11:56:14 +01:00 committed by GitHub
commit 06129fe1ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
178 changed files with 10958 additions and 2691 deletions

View file

@ -8,7 +8,7 @@ labwc - configuration files
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, shutdown and environment.
configuration: rc.xml, menu.xml, autostart, shutdown, environment and xinitrc.
No configuration files are needed to start and run labwc.
@ -78,6 +78,10 @@ in labwc-theme(5).
*rc.xml* is the main configuration file and all its options are described in
detail below.
The *xinitrc* file is executed as a shell script whenever labwc launches the
Xwayland X11 server. This may happen multiple times throughout the session if
Xwayland is not configured to persist when no X11 clients are connected.
# CONFIGURATION
This section describes *rc.xml* configuration options.
@ -181,11 +185,23 @@ this is for compatibility with Openbox.
*fullscreen* enables adaptive sync whenever a window is in fullscreen
mode.
*<core><allowTearing>* [yes|no]
*<core><allowTearing>* [yes|no|fullscreen|fullscreenForced]
Allow tearing to reduce input lag. Default is no.
This option requires setting the environment variable
WLR_DRM_NO_ATOMIC=1.
*yes* allow tearing if requested by the active window.
*yes* allows tearing if requested by the active window.
*fullscreen* allows tearing if requested by the active window, but
only when the window is in fullscreen mode.
*fullscreenForced* enables tearing whenever the active window is in
fullscreen mode, whether or not the application has requested tearing.
Use the *ToggleTearing* action for forcefully enable tearing.
Note: Enabling this option with atomic mode setting is experimental. If
you experience undesirable side effects when tearing is allowed,
consider setting the environment variable WLR_DRM_NO_ATOMIC=1 when
launching labwc.
*<core><reuseOutputMode>* [yes|no]
Try to re-use the existing output mode (resolution / refresh rate).
@ -194,14 +210,31 @@ this is for compatibility with Openbox.
be used with labwc the preferred mode of the monitor is used instead.
Default is no.
*<core><xwaylandPersistence>* [yes|no]
Keep XWayland alive even when no clients are connected, rather than
using a "lazy" policy that allows the server to launch on demand and die
when it is no longer needed. Default is no.
Note: changing this setting requires a restart of labwc.
## PLACEMENT
*<placement><policy>* [center|automatic|cursor]
*<placement><policy>* [center|automatic|cursor|cascade]
Specify a placement policy for new windows. The "center" policy will
always place windows at the center of the active output. The "automatic"
policy will try to place new windows in such a way that they will
have minimal overlap with existing windows. The "cursor" policy will
center new windows under the cursor. Default is "center".
center new windows under the cursor. The "cascade" policy will try to
place new windows at the center of the active output, but possibly
shifts its position to bottom-right not to cover existing windows.
Default is "center".
*<placement><cascadeOffset><x>*++
*<placement><cascadeOffset><y>*
Specify the offset by which a new window can be shifted from an existing
window when <placement><policy> is "cascade". These values must be positive.
Default is the height of titlebar (the sum of *titlebar.height* and
*border.width* from theme) plus 5 for both *x* and *y*.
## WINDOW SWITCHER
@ -293,6 +326,15 @@ this is for compatibility with Openbox.
The default value for both parameters is 20 pixels.
*<resistance><unSnapThreshold>*
Sets the movement of cursor in pixel required for a tiled or maximized
window to be moved with an interactive move. Default is 20.
*<resistance><unMaximizeThreshold>*
Sets the one-dimentional movement of cursor in pixel required for a
*vertically or horizontally* maximized window to be moved with an
interactive move. Default is 150.
## FOCUS
*<focus><followMouse>* [yes|no]
@ -395,6 +437,29 @@ extending outward from the snapped edge.
*<theme><name>*
The name of the Openbox theme to use. It is not set by default.
*<theme><icon>*
The name of the icon theme to use. It is not set by default.
*<theme><titlebar><layout>*
Selection and order of buttons in a window's titlebar.
The following identifiers can be used, each only once:
- 'icon': window icon
- 'menu': window menu
- 'iconify': iconify
- 'max': maximize toggle
- 'close': close
- 'shade': shade toggle
- 'desk': all-desktops toggle
A colon deliminator is used to separate buttons on the left and right,
whereas commas are used to separate items within a section. It is
mandatory to use one colon.
Default: icon:iconify,max,close
*<theme><titlebar><showTitle>* [yes|no]
Show the window title in the titlebar. Default is yes.
*<theme><cornerRadius>*
The radius of server side decoration top corners. Default is 8.
@ -411,6 +476,7 @@ extending outward from the snapped edge.
- ActiveWindow - titlebar of active window
- InactiveWindow - titlebar of all windows that aren't focused by the
cursor
- MenuHeader - menu title
- MenuItem - menu item (currently only root menu)
- OnScreenDisplay - items in the on screen display
If no place attribute is provided, the setting will be applied to all
@ -423,7 +489,7 @@ extending outward from the snapped edge.
Font size in pixels. Default is 10.
*<theme><font place=""><slant>*
Font slant (normal or italic). Default is normal.
Font slant (normal, oblique or italic). Default is normal.
*<theme><font place=""><weight>*
Font weight (normal or bold). Default is normal.
@ -471,7 +537,7 @@ extending outward from the snapped edge.
Stores the keyboard layout either globally or per window and restores
it when switching back to the window. Default is global.
*<keyboard><keybind key="" layoutDependent="">*
*<keyboard><keybind key="" layoutDependent="" onRelease="" allowWhenLocked="">*
Define a *key* binding in the format *modifier-key*, where supported
modifiers are:
- S (shift)
@ -497,8 +563,11 @@ extending outward from the snapped edge.
If set to "no" (or is absent) the keybind will be layout agnostic.
Default is no.
*<keyboard><keybind key="" onRelease="yes|no">*
*onRelease*, when yes, fires the keybind action when the key or key
*allowWhenLocked* [yes|no]
Make this keybind work even if the screen is locked. Default is no.
*onRelease* [yes|no]
When yes, fires the keybind action when the key or key
combination is released, rather than first pressed. This is useful to
bind actions to only modifier keys, where the action should fire when
the modifier is used without another key. Default is no.
@ -507,7 +576,6 @@ extending outward from the snapped edge.
pressed & released, without interference from other multi-key
combinations that include the super key:
```
<keybind key="Super_L" onRelease="yes">
<action name="Execute" command="rofi -show drun"/>
@ -551,9 +619,6 @@ extending outward from the snapped edge.
*<mouse><doubleClickTime>*
Set double click time in milliseconds. Default is 500.
*<mouse><scrollFactor>*
Set scroll factor. Default is 1.0.
*<mouse><context name=""><mousebind button="" direction="" action=""><action>*
Multiple *<mousebind>* can exist within one *<context>*; and multiple
*<action>* can exist within one *<mousebind>*.
@ -563,10 +628,13 @@ extending outward from the snapped edge.
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.
- WindowMenu: The button on the left.
- Iconify: The button that looks like an underline.
- Maximize: The button that looks like a box.
- Close: The button that looks like an X.
- Icon: A window icon that, by default, displays a window menu.
- WindowMenu: A button that, by default, displays a window menu.
- Iconify: A button that, by default, iconifies a window.
- Maximize: A button that, by default, toggles maximization of a window.
- Shade: A button that, by default, toggles window shading.
- AllDesktops: A button that, by default, toggles omnipresence of a window.
- Close: A button that, by default, closses a window.
- 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.
@ -656,9 +724,12 @@ extending outward from the snapped edge.
If the output name is left empty or the output does not exists, the
tablet will span all outputs.
The tablet cursor automatically applies the orientation/rotation of
a mapped output for absolute motion.
*<tablet rotate="" />* [0|90|180|270]
The tablet orientation can be changed in 90 degree steps. Default is
no rotation (0). Rotation will be applied after applying tablet area
no rotation (0). Rotation will be applied before applying tablet area
transformation.
See also *calibrationMatrix* in libinput section below for advanced
@ -688,6 +759,9 @@ extending outward from the snapped edge.
tablet specific restrictions, e.g. no support for drag-and-drop, but
also omits tablet specific features like reporting pen pressure.
Use the *ToggleTabletMouseEmulation* action for toggling between
mouse emulation on and off.
*<tablet><map button="" to="" />*
Pen and pad buttons behave like regular mouse buttons.With mouse
emulation set to "no", which is the default, and if not specified
@ -724,6 +798,24 @@ extending outward from the snapped edge.
See mouse section above for all supported mouse buttons.
## TABLET TOOL
```
<tabletTool motion="absolute" relativeMotionSensitivity="1" />
```
*<tabletTool motion="">* [absolute|relative]
All tablet tools, except of type mouse and lens, use "absolute"
positioning by default. The *motion* attribute allows to set tools
to relative motion instead. Positioning for a tablet mouse or
tablet lens cannot be changed, those tools always use relative mode.
*<tabletTool relativeMotionSensitivity="">*
When using relative motion, *relativeMotionSensitivity* controls
the speed of the cursor. Using a value lower than 1.0 decreases the
speed, using a value greater than 1.0 increases the speed of the
cursor. The default is "1.0".
## LIBINPUT
```
@ -742,6 +834,7 @@ extending outward from the snapped edge.
<clickMethod></clickMethod>
<sendEventsMode></sendEventsMode>
<calibrationMatrix></calibrationMatrix>
<scrollFactor>1.0</scrollFactor>
</device>
</libinput>
```
@ -867,6 +960,9 @@ The most common matrices are:
visit https://wayland.freedesktop.org/libinput/doc/latest/absolute-axes.html#calibration-of-absolute-devices
for more information.
*<libinput><scrollFactor>*
Set scroll factor. Default is 1.0.
## WINDOW RULES
Two types of window rules are supported, actions and properties. They are
@ -960,7 +1056,7 @@ situation.
*<menu><ignoreButtonReleasePeriod>*
How long (in milliseconds) the initial button release event is ignored
for. The reason for this logic and behaviour is to avoid a fast
press-move-release sequence indended to just open the menu resulting in
press-move-release sequence intended to just open the menu resulting in
the closure of the menu or the selection of (typically the first) menu
item. This behaviour only affects the first button-release. It is not
anticipated that most users will want to change this, but the config