General files and dotfiles for configuring a LXQt Wayland session. LXQt 2.3 has native wayland support in all its elements and therefore content here is quite outdated, except for some hacks and tricks.
start_scripts:startlxqt<compositor>: ENV variables, import settings, start compositorwayland-sessions:<compositor>_lxqt.desktop: Entry in SDDMscripts: some tools for autostart and elseconfig: configurations for LXQt < 2.0 and other components
Working in labwc, sway, hyrpland, kwin_wayland, wayfire, river, niri and most probably with all compositors which support wlroots protocols.
For more details and workarounds see lxqt-panel page and the Wayland Wiki.
-
Copy the desired file(s) from
wayland-sessionsto/usr/share/wayland-sessions/(if using a display manager like SDDM). Copy the desired scripts fromstartup_scriptsto/usr/bin/or/usr/local/binand make them executable. -
Labwc and kwin_wayland start scripts will start
lxqt-sessionautomatically; in other compositors executinglxqt-sessionor some of its components has to be configured in their settings file. For both complete installation setups are available, see "Screenshots" below. To exit also the compositor after exiting LXQt&& <exit_command>should be used. -
startlxqt<compositor>scripts can be executed also directly in tty. -
$XDG_CURRENT_DESKTOPis now set toLXQt:<compositorincluding also:wlrootsif not kwin-wayland. -
Basically similar script could work for any compositor, see their last line.
-
The provided startup scripts use the default configuration files for the compositors. All wlroots-based compositors have options to use different location if different settings are desired.
- lxqt-wayland-session is available in most distributions now.
- There is a LXQt Wayland Wiki
- Multiple user session are possible alongside a normal session started by sddm by simply login on tty and using one of the start scripts. Probably using different sessions types with the same user is not a good idea. Using
kwin_waylandmultiple user sessions are fully supported. - Some applications in autostart may not work under Wayland and/or can cause high cpu usage - see "scripts" folder for a selective autostart of applications depending on session type x11/wayland. For wayland-only applications useing the autostart settings from the compositor is recommended. Using Git packages autostart for apps can be limited to X11 only now.
- Qterminal's dropdown mode is supported now. Adding manually a hotkey for
qterminal -din compositor settings is needed. - LXQt screenlock settings are supported now in wayland. Using
kwin_waylandscreenlocking is provided by the compositor whileswaylock,waylockandhyprlockcan be used in wlroots-based compositors.
In ~/.config/lxqt/session.conf:
[General]
__userfile__=true
...
lock_command=slock
lock_command_wayland=swaylock
For kwin_wayland the setting is loginctl lock-session.
See: lxqt-labwc-session.
See lxqt-kwin-session.
Basic settings in wayfire.ini:
[autostart]
autostart_wf_shell = false
background = swaybg -i /usr/share/lxqt/wallpapers/origami-dark.png
lxqt_session = lxqt-session && killall wayfire
[command]
command_launcher = lxqt-runner
binding_launcher = <alt> KEY_SPACE
Exists a configation GUI tool WCM (wayfire configuration manager).
In wayfire 0.8.1 lxqt-runner doesn't get focus automatically.
Basic Settings:
spawn-at-startup "sh" "-c" "lxqt-session && niri msg action quit -s"
Mod+Shift+A { show-hotkey-overlay; }
Mod+T { spawn "qterminal"; }
F12 { spawn "qterminal" "-d"; }
Alt+Space { spawn "lxqt-runner"; }
Mod+P { spawn "pcmanfm-qt"; }
Super+Alt+L { spawn "lxqt-leave"; }
Basic Settings:
exec lxqt-session && sway exit
for_window [app_id="^lxqt-.*$"] floating enable
for_window [app_id="^lxqt-.*$"] floating enable
bindsym alt+space exec lxqt-runner
In sway 1.9 lxqt-runner and qterminal's dropdown don't get keyboard focus automatically.
The taskbar of lxqt-panel is most useless in river as it can't focus tags except when on tag 0, so lxqt-panel v.2.0 is fine.
"Custom Command Plugin" allows building a tag switcher in the panel and much more.
Basic Settings:
riverctl spawn "lxqt-session && riverctl exit"
# Powerbutton
for mode in normal
do
riverctl map $mode None XF86PowerOff spawn lxqt-leave
done
Basic settings needed in hyprland.conf:
monitor=,preferred,auto,1
env = QT_QPA_PLATFORMTHEME,lxqt
env = QT_PLATFORM_PLUGIN,lxqt
env = XDG_MENU_PREFIX,lxqt-
env = XDG_CURRENT_DESKTOP,LXQt:Hyprland:wlroots
exec-once=lxqt-session && hyprctl dispatch exit
windowrule = float,^(?!lxqt-archiver)(lxqt-.*|pavu.*|.*copyq|sddm-conf|qarma|.*portal-lxqt|Preferen|cryptHider|meteo-qt.*|python3)$
windowrule = float,title:^(Preferen.*|Crea.*|Search.*|Password.*|Elimina.*|Close.*|Execute.*)$
windowrulev2 = dimaround,floating:1
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
layerrule = noanim, launcher
layerrule = dimaround, ^(launcher|dialog|dropdown_terminal)$
layerrule = animation slide top, dropdown_terminal
layerrule = animation popin 80%, dialog
swaybg: background image (below desktop)swayidle; swaylock: lock screen- Panels/bars:
sfwbar: Source taskbar and much moreyatbfwSource: taskbar, clock, quicklaunchwaybar: taskbar, notification area, cpu/#windowrule = float,^(cmst)$ windowrule = float,io.github.martinrotter.rssguardram/temp monitor, keyboard layout display Forkeyboard-stateworking make sure your user is member of the "input" group. Some icons need "font-icon" and "font-awesome" to be displayed.wlrctrandwtype: for some keybindings - especially open applications menu inlxqt-panelwdisplay: Screen management GUI, see wdisplayclipman,dmenu,wl-clipboard: cliboard manager (configuration seewayfire.ini)grim,slurp: screenshots Example configurationwshotGUI for screenshots, see wshotwev: xev for wayland- wayfire plugin for per application keyboard layout switch
gammastepreplacement for redshiftwvkbdvirtual keyboard
- Swipe to change workspace
~/.config/libinput-gestures.conf(for shortcuts "C-A-left|right" in labwc)
gesture: swipe left 3 wtype -M ctrl -M alt -P right
gesture: swipe right 3 wtype -M ctrl -M alt -P left
Using Sway swaymsgcan be used:
gesture: swipe left 3 swaymsg -t command workspace next_on_output
gesture: swipe right 3 swaymsg -t command workspace prev_on_output
Add libinput-gestures-setup start to autostart.
- Screensaver:
In autostart:
swayidle before-sleep swaylock timeout 300 'feh -rzsZFD 8 --draw-exif --draw-tinted ~/path/to/folder' resume 'killall feh'
-
Dim inactive windows: see
scripts. -
Exit gently also applications started by shortcut by the compositor when exiting
lxqt-session. Example for labwc:
<keybind key="W-k">
<action name="Execute" command="pcmanfm-qt '/usr/share/applications/org.keepassxc.KeePassXC.desktop'" />
</keybind>
- Featherpad single window doesn't focus if already open: copy
featherpad.desktopfrom/usr/share/applicationsto to~/.local/share/applicationsand changed the line
Exec=bash -c "featherpad %U && wlrctl window focus featherpad"
- Telegram does not open multimedia files
If images and video do not open: unset "animation" and eventually "opengl" in Preferences > Advanced.




