Wayland Settings
For an overall Wayland support, LXQt 2.1.0 or later is required, while most components already support Wayland in V2.0.x. To start a LXQt Wayland Session select "LXQt (Wayland)" in your display manager. From tty the session can be started with startlxqtwayland
.
lxqt-wayland-session has to be installed for enabling "Wayland Settings" in "Session Settings". The panel can choose a specific backend for each compositor to enable workspace switcher, other workspace related menu-items, and more. In LXQt 2.2 the available backends are X11 (xcb), a general one for wlroots-compatible compositors, and another for kwin_wayland.
Compositors#
The compositor can be chosen in "Session Settings" under "Wayland Settings". The supported stacking compositors are labwc, Wayfire and kwin_wayland, while the tiling ones are Hyprland, Niri, River and Sway. For a working taskbar the compositor should support wlr-foreign-toplevel-management-unstable-v1
protocol. For starting an LXQt session under other compositors, the command lxqt-session && <logout_command>
has to be added in the autostart setting of the compositor. Forks of the aforementioned compositors should work fine all.
For the supported compositors, minimal default settings based on their default settings are shipped and will be installed in ~/.config/lxqt/wayland/
folder at the first start, except for kwin_wayland
and labwc, where the default configurations are used.
Note
Some distributions, notably OpenSuse, may use also different location for labwc config.
GUI configuration tools are available for labwc (labwc-tweaks), Wayfire (wcm) and kwin (Plasma's systemsettings
, menu entries customized for LXQt can be installed from here.
[!NOTE] Consider disabling the shortcut for exiting directly the compositor to avoid accidental killing of the session.
Disabled Components#
Some components cannot be used under Wayland, and an information dialog will be shown if they are launched there. This includes "Shortcut Keys", power key settings in "Power Management", and "Monitor Settings" which works only under kwin_wayland. Instead in "Keyboard and Mouse" some settings are not present - all those settings are handled directly by the compositor now and can be configured in its settings. Some panel widgets are not supported at all (Keyboard State) or not on every compositor (Desktop Switcher, Show Desktop), depending on whether there is a dedicated backend available or not. Some right click menu-items of task-bar buttons are grayed out if unavailable.
ScreenGrab 3.0 has support for Wayland.
LXQt Panel's Wayland Backends#
As of May 2025, two Wayland backends are available: kwin_wayland and one for wlroots-compatible compositors, which will be automatically detected for all seven supported compositors.
For special cases the backend to load can be forced manually for any desktop specified in XDG_CURRENT_DESKTOP
by a comma-separated list in ~/.config/lxqt/panel.conf
:
Screen Lockers#
Supported/tested screenlockers are swaylock
, waylock
and hyprlock
. On kwin_wayland loginctl lock-session
has to be set in the mask. Other Wayland screenlockers may work as well.
Global Shortcuts#
Shortcuts are handled exclusively by the compositor. Because of that, applications launched by such shortcuts might not exit decently on logging out if they are running before the session ends. That might result in unsaved settings on logging out. The reason is that their processes are not controlled by LXQt Session.
As a workaround, you can use shortcuts that launch applications through lxqt-session's D-BUS interface (with lxqt-session ≥ 2.2.0 or git), which makes them exit gracefully when the session ends. An example for labwc:
Instead of
Use<action name="Execute" command="qdbus6 org.lxqt.session /LXQtSession execDesktopFile featherpad.desktop"/>
The names of desktop files can be found in /usr/share/applications/
. The general command is
Also, a desktop file can be made for any executable file, and its full path can be used in a command like above. But, for a desktop file inside $XDG_DATA_DIRS/applications/
, the file name is enough.
Global Scaling#
The global screen scaling of "LXQt Session Settings" is only for X11 and should not be used on Wayland. Wayland supports per-monitor scaling, and best results can be achieved in the settings of the compositor, if existing. Examples:
Hyprland: monitor=,preferred,auto,1.2
Sway: Output eDP-1 scale 1.2
With all compositors that support wlr-output-management protocol
, kanshi or shikane can be configured. With kwin_wayland, KDE's systemsettings
is the best tool.
Brightness, Volume, Multimedia Keys (XF86-*)#
Please check your compositor configuration if some of them aren't working. Sway, for example, uses pactl
(part of libpulse) for volume, while labwc and Wayfire use pamixer
by default, which may not be present in your installation.
Third party tools (mostly for wlroots, not kwin_wayland)#
swayidle
Screen blanking/monitor off in combination withwlopm
swaybg
Background below desktop (splash)lswt
list Wayland toplevels (windows), useful for window ruleswlrctl
Command line utility for miscellaneous wlroots extensionswlopm
Turn off monitor(s)wtype
Sending keystrokes (p.e. in custom command plugin or shortcuts)kanshi
Monitor settingswdisplay
Monitor settings on the flycopyQ
Clipboard manager; works fine under kwin_wayland as well as wlrootswvkbd
Virtual keyboardwev
List keypress and mouse eventsgrim
andslurp
Screenshotwf-recorder
Screencastwshot
GUI for screenshots
Issues, Tips and Tricks#
Tooltips and popups (Qt bugs)#
- On bottom and right panels some tooltips and some popups align to screen border.
See https://github.com/lxqt/lxqt-panel/issues/2092 for status.
Generic Icons in Taskbar#
Check "Use icons by window class" in taskbar settings.
Desktop icons under the panel#
Read https://github.com/lxqt/pcmanfm-qt/wiki#using-desktop-under-wayland
Forcing use of Wayland#
- Element (electron):
.config/electron-flags.conf
: - Darktable:
GDK_BACKEND=wayland darktable
(can be added in the.desktop
file)
Turn off monitor when idle#
LXQt's power manager settings for turning off the monitor will work fine if you use the configuration dialog of version 2.2.2 or later or manually add a line to ~/.config/lxqt/power.conf
for previous versions:
kwin_wayland#
Make sure you have kscreen-doctor
. It is provided by libkscreen
in Arch.
Niri#
Hyprland#
To wake up all monitors it needs inlxqt-hyprland.conf
under "misc":
Labwc, others#
Make sure wlopm
is installed; works only for an external monitor. Use wlopm
to get the monitor name. Examples:
The other actions of the LXQt idleness watcher work in all supported compositors, but this action only works with the above commands for now, and you can control it in the right-click menu of the battery tray icon, as in X11. Use swayidle
or hypridle
with other compositors.
3-finger-swipe to switch workspace#
Default in niri, can be enabled in Hyprland and Wayfire. For other compositors as kwin and Hyprland a workaround can be used.
~/.config/libinput-gestures.conf
:
# Add this to auto-start in compositor: libinput-gestures-setup start
# https://github.com/bulletmark/libinput-gestures
# sway
gesture: swipe left 3 swaymsg -t command workspace next_on_output
gesture: swipe right 3 swaymsg -t command workspace prev_on_output
# labwc (with C-A-right configured in rc.xml)
gesture: swipe left 3 wtype -M ctrl -M alt -P right
gesture: swipe right 3 wtype -M ctrl -M alt -P left
Screenshots with grim/slurp#
Although ScreenGrab
is working (check out its command line options!) you may find useful using them.
Save to executable files screenshot_full
and screenshot_area
and set shortcuts like Alt+Print/Ctrl+Print.
grim /tmp/screen_full_$(date +'%a_%T_.png') &&
notify-send -a grim -i screengrab -t 2000 "Full screenshot saved"
lximage-qt /tmp/screen_full_$(date +'%a_%T_.png')
grim -g "$(slurp -d)" - | wl-copy -t image/png && notify-send -a grim -i screengrab -t 2000 "Screenshot saved to clipboard"
Action icons in the panel#
Custom command plugin can trigger actions for which shortcuts are configured, using wtype
. Example: Go to workspace right|left.
Display keyboard layout in panel (2 layouts only)#
Add to XKB_DEFAULT_OPTIONS: grp_led:scroll
, example labwc:
XKB_DEFAULT_OPTIONS=grp:caps_toggle,grp_led:scroll
Add
if [ "$(cat /sys/class/leds/input3\:\:scrolllock/brightness)" == "1" ]; then echo "US";else echo "DE"; fi
as command. Repeat every second. /sys/class/leds/input3
can be different on different OS.
Running SDDM under Wayland#
/etc/sddm.conf
:
[General]
...
DisplayServer=wayland
[Wayland]
...
SessionLogFile=/tmp/wayland-session.log
CompositorCommand=labwc
/var/lib/sddm/
as home directory where the compositor should be configured, otherwise default settings will be applied:
/var/lib/sddm/.config/labwc/rc.xml
:
<?xml version="1.0"?>
<labwc_config>
<keyboard>
<keybind key="A-Space">
<action name="ShowMenu" menu="client-menu" />
</keybind>
<keybind key="A-k">
<action name="Execute">
<command>wvkbd-mobintl</command>
</action>
</keybind>
</keyboard>
<mouse>
<default />
</mouse>
<libinput>
<device category="default">
<naturalScroll>no</naturalScroll>
<pointerSpeed>0.8</pointerSpeed>
<accelProfile>adaptive</accelProfile>
<tap>yes</tap>
<disableWhileTyping>yes</disableWhileTyping>
</device>
</libinput>
</labwc_config>