General files and dotfiles for configuring a LXQt Wayland session. LXQt 2.0 has native wayland support in all its elements now but some features are not ready yet.
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 componentsWorking in labwc, sway, hyrpland, kwin_wayland, wayfire, river, niri and most probably with allcompositors which support wrloots protocols. Until LXQt v2.1 comes out compiling is needed using git checkouts or using AUR.
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 from startup_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 executing
lxqt-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 to LXQt:<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.
kwin_wayland
multiple user sessions are fully supported.qterminal -d
in compositor settings is needed.liblxqt-git
. Using kwin_wayland
screenlocking is provided by the compositor while swaylock
, waylock
and hyprlock
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
# Floating windows:
windowrule = float,^(lxqt-.*|pavu.*|.*copyq|sddm-conf|qarma|.*portal-lxqt)$
windowrule = float,title:^(Preferen.*)$
windowrulev2 = dimaround,floating:1
# No animations for lxqt-runner
layerrule = noanim, launcher
layerrule = dimaround, launcher
Note: DND from menu to quicklauch is broken atm. Dragging from PCManFM-Qt windows works.
swaybg
: background image (below desktop)swayidle; swaylock
: lock screensfwbar
: 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
For keyboard-state
working make sure your user is member of the "input" group. Some icons need "font-icon" and "font-awesome" to be displayed.wlrctr
and wtype
: for some keybindings - especially open applications menu in lxqt-panel
wdisplay
: Screen management GUI, see wdisplayclipman
, dmenu
, wl-clipboard
: cliboard manager (configuration see wayfire.ini
)grim
,slurp
: screenshots Example configurationwshot
GUI for screenshots, see wshotwev
: xev for waylandgammastep
replacement for redshiftwvkbd
virtual keyboard~/.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.
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.desktop
from /usr/share/applications
to to ~/.local/share/applications
and changed the lineExec=bash -c "featherpad %U && wlrctl window focus featherpad"
If images and video do not open: unset "animation" and eventually "opengl" in Preferences > Advanced
.