.\" Generated by scdoc 1.11.3 .\" 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" "1" "2024-12-26" .PP .SH NAME .PP labwc - a Wayland stacking compositor .PP .SH SYNOPSIS .PP \fBlabwc\fR [options.\&.\&.\&] .PP .SH DESCRIPTION .PP Labwc is a wlroots-based stacking compositor for wayland.\& .PP 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.\& .PP .SH SIGNALS .PP The compositor will exit or reload its configuration upon receiving SIGTERM and SIGHUP respectively.\& For example: .PP .nf .RS 4 kill -s $LABWC_PID killall -s labwc .fi .RE .PP 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.\& .PP .SH OPTIONS .PP \fB-c, --config\fR .RS 4 Specify a config file with path .PP .RE \fB-C, --config-dir\fR .RS 4 Specify a config directory .PP .RE \fB-d, --debug\fR .RS 4 Enable full logging, including debug information .PP .RE \fB-e, --exit\fR .RS 4 Exit the compositor by sending SIGTERM to `$LABWC_PID` .PP .RE \fB-h, --help\fR .RS 4 Show help message and quit .PP .RE \fB-m, --merge-config\fR .RS 4 Merge user config/theme files in all XDG Base Directories .PP .RE \fB-r, --reconfigure\fR .RS 4 Reload the compositor configuration by sending SIGHUP to `$LABWC_PID` .PP .RE \fB-s, --startup\fR .RS 4 Run command on startup .PP .RE \fB-S, --session\fR .RS 4 Run command on startup and terminate compositor on exit.\& This is useful for session management as it allows the session client to terminate labwc by exiting itself.\& This is a Wayland specific use-case because under X, xinit starts the server and keeps it alive for as long as the session client.\& Thus either the session client starts the Window Manager, or the Window Manager can be launched independently first.\& On Wayland, the Compositor is both Display Server and Window Manager, so the described session management mechanisms do not work because the Compositor needs to be running before the session can function.\& As some session clients support both X11 and Wayland, this command line option avoids re-writes and fragmentation.\& .PP .RE \fB-v, --version\fR .RS 4 Show the version number and quit .PP .RE \fB-V, --verbose\fR .RS 4 Enable more verbose logging .PP .RE .SH SESSION MANAGEMENT .PP To enable the use of graphical clients launched via D-Bus or systemd service activation, labwc can update both activation environments on launch.\& Provided that labwc is aware of an active D-Bus user session (\fBi.\&e.\&\fR, the environment variable `DBUS_SESSION_BUS_ADDRESS` is defined), the compositor will invoke the commands .PP .nf .RS 4 dbus-update-activation-environment systemctl --user import-environment .fi .RE .PP (when available) to notify D-Bus and systemd with the values of the following environment variables: .PP .nf .RS 4 WAYLAND_DISPLAY DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE XCURSOR_SIZE XCURSOR_THEME LABWC_PID .fi .RE .PP 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`.\& .PP 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.\& .PP .SH SEE ALSO .PP labwc-actions(5), labwc-config(5), labwc-menu(5), labwc-theme(5)