labwc/docs/labwc.1.scd

110 lines
3.1 KiB
Text
Raw Normal View History

2021-03-05 22:14:02 +00:00
labwc(1)
# NAME
labwc - a Wayland stacking compositor
2021-03-05 22:14:02 +00:00
# SYNOPSIS
*labwc* [options...]
2021-03-05 22:14:02 +00:00
# DESCRIPTION
Labwc is a wlroots-based stacking compositor for wayland.
2021-04-10 09:19:35 +01:00
It is light-weight and independent with a focus on simply stacking windows
well and rendering some window decorations. Where practicable it uses clients
for wall-paper, panels, screenshots and so on.
2021-03-05 22:14:02 +00:00
# SIGNALS
2022-10-04 21:57:38 +01:00
The compositor will exit or reload its configuration upon receiving SIGTERM
and SIGHUP respectively. For example:
2022-10-04 21:57:38 +01:00
```
kill -s <signal> $LABWC_PID
killall -s <signal> labwc
```
2022-10-06 21:54:49 +01:00
Each running instance of labwc sets the environment variable `LABWC_PID` to
its PID. This is useful for sending signals to a specific instance and is what
the `--exit` and `--reconfigure` options use.
2021-03-05 22:14:02 +00:00
# OPTIONS
2022-10-06 21:54:26 +01:00
*-c, --config* <config-file>
Specify a config file with path
2022-10-06 21:54:26 +01:00
*-C, --config-dir* <config-directory>
Specify a config directory
2021-03-05 22:14:02 +00:00
2022-10-06 21:54:26 +01:00
*-d, --debug*
2021-03-05 22:14:02 +00:00
Enable full logging, including debug information
2022-10-06 21:54:49 +01:00
*-e, --exit*
Exit the compositor by sending SIGTERM to `$LABWC_PID`
2022-10-06 21:54:49 +01:00
2022-10-06 21:54:26 +01:00
*-h, --help*
2021-03-05 22:14:02 +00:00
Show help message and quit
config: support merging multiple config files Add the -m|--merge-config command line option to iterate backwards over XDG Base Dir paths and read config/theme files multiple times. For example if both ~/.config/labwc/rc.xml and /etc/xdg/labwc/rc.xml exist, the latter will be read first and then the former (if --merge-config is enabled). When $XDG_CONFIG_HOME is defined, make it replace (not augment) $HOME/.config. Similarly, make $XDG_CONFIG_DIRS replace /etc/xdg when defined. XDG Base Dir Spec does not specify whether or not an application (or a compositor!) should (a) define that only the file under the most important base directory should be used, or (b) define rules for merging the information from the different files. ref: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html In the case of labwc there is a use-case for both positions, just to be clear, the default behaviour, described by position (a) above, does NOT change. This change affects the following config/theme files: - rc.xml - menu.xml - autostart - environment - themerc - themerc-override - Theme buttons, for example max.xbm Instead of caching global config/theme directories, create lists of paths (e.g. '/home/foo/.config/labwc/rc.xml', '/etc/xdg/labwc/rc.xml', etc). This creates more common parsing logic and just reversing the direction of iteration and breaks early if config-merge is not wanted. Enable better fallback for themes. For example if a particular theme does not exist in $HOME/.local/share/themes, it will be searched for in ~/.themes/ and so on. This also applies to theme buttons which now fallback on an individual basis. Avoid using stat() in most situations and just go straight to fopen(). Fixes #1406
2024-01-09 22:00:45 +00:00
*-m, --merge-config*
Merge user config/theme files in all XDG Base Directories
2022-10-06 21:54:49 +01:00
*-r, --reconfigure*
Reload the compositor configuration by sending SIGHUP to `$LABWC_PID`
2022-10-06 21:54:49 +01:00
2022-10-06 21:54:26 +01:00
*-s, --startup* <command>
2021-03-05 22:14:02 +00:00
Run command on startup
2022-10-06 21:54:26 +01:00
*-v, --version*
2021-03-05 22:14:02 +00:00
Show the version number and quit
2022-10-06 21:54:26 +01:00
*-V, --verbose*
2021-03-05 22:14:02 +00:00
Enable more verbose logging
# SESSION MANAGEMENT
To enable the use of graphical clients launched via D-Bus or systemd servie
activation, labwc can update both activation environments on launch. Provided
that labwc is aware of an active D-Bus user session (*i.e.*, the environment
variable `DBUS_SESSION_BUS_ADDRESS` is defined), the compositor will invoke the
commands
```
dbus-update-activation-environment
systemctl --user import-environment
```
(when available) to notify D-Bus and systemd with the values of the following
environment variables:
```
WAYLAND_DISPLAY
DISPLAY
XDG_CURRENT_DESKTOP
XDG_SESSION_TYPE
XCURSOR_SIZE
XCURSOR_THEME
LABWC_PID
```
This behavior is enabled by default whenever labwc uses the "DRM" wlroots
backend (which implies that labwc is the primary compositor on the console).
When other backends are employed (for example, when labwc runs nested in another
Wayland compositor or an X11 server), updates to the activation environment are
disabled by default. Updates to the activation environment can be forced by
setting the environment variable `LABWC_UPDATE_ACTIVATION_ENV` to one of the
truthy values `1`, `true`, `yes` or `on`; or suppressed by setting the variable
to one of the falsy values `0`, `false`, `no` or `off`.
Whenever labwc updates the activation environment on launch, it will also
attempt to clear the activation environment on exit. For D-Bus, which does not
provide a means for properly un-setting variables in the activation environment,
this is accomplished by setting the session variables to empty strings. For
systemd, the command `systemctl --user unset-environment` will be invoked to
actually remove the variables from the activation environment.
2021-03-05 22:14:02 +00:00
# SEE ALSO
labwc-actions(5), labwc-config(5), labwc-menu(5), labwc-theme(5)