General files and dotfiles for configuring a LXQt Wayland session. LXQt 2.1 has native wayland support in all its elements and content here is somehow 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 wrloots protocols.
For more details and workarounds see lxqt-panel page and the Wayland Wiki.
-
Copy the desired file(s) from
wayland-sessions
to/usr/share/wayland-sessions/
(if using a display manager like SDDM). Copy the desired scripts fromstartup_scripts
to/usr/bin/
or/usr/local/bin
and make them executable. -
Labwc and kwin_wayland start scripts will start
lxqt-session
automatically; in other compositors executinglxqt-session
or 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_DESKTOP
is now set toLXQt:<compositor
including also:wlroots
if 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_wayland
multiple 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 -d
in compositor settings is needed. - LXQt screenlock settings are supported now in wayland. Using
kwin_wayland
screenlocking is provided by the compositor whileswaylock
,waylock
andhyprlock
can 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"; }
Note: "add to favorites" in fancy menu is broken atm. Favorites have to be configured editing panel.conf
or better in another session type.
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
Note: DND to quicklaunch is broken atm, another DE is needed for it.
swaybg
: background image (below desktop)swayidle; swaylock
: lock screen- Panels/bars:
sfwbar
: Source taskbar and much moreyatbfw
Source: taskbar, clock, quicklaunchwaybar
: taskbar, notification area, cpu/#windowrule = float,^(cmst)$ windowrule = float,io.github.martinrotter.rssguardram/temp monitor, keyboard layout display Forkeyboard-state
working make sure your user is member of the "input" group. Some icons need "font-icon" and "font-awesome" to be displayed.wlrctr
andwtype
: for some keybindings - especially open applications menu inlxqt-panel
wdisplay
: Screen management GUI, see wdisplayclipman
,dmenu
,wl-clipboard
: cliboard manager (configuration seewayfire.ini
)grim
,slurp
: screenshots Example configurationwshot
GUI for screenshots, see wshotwev
: xev for wayland- wayfire plugin for per application keyboard layout switch
gammastep
replacement for redshiftwvkbd
virtual 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 swaymsg
can 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.desktop
from/usr/share/applications
to to~/.local/share/applications
and 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
.