stefonarch / LXQt-Wayland-files

LXQt implementation in Wayland compositors
GNU General Public License v3.0
65 stars 0 forks source link

LXQt Desktop under Wayland

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.

Folder/Content

lxqt-panel

Working 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.

Starting LXQt Session

Notes and News

[General]
__userfile__=true
...

lock_command=slock
lock_command_wayland=swaylock

For kwin_wayland the setting is loginctl lock-session.

Screenshots and Annotations

Labwc (stacking)

Screenshot labwc

See: lxqt-labwc-session.

Kwin_wayland (stacking)

Screenshot kwin_wayland

See lxqt-kwin-session.

Wayfire (stacking)

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.

Niri

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.

Sway (tiling)

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.

River (tiling)

Screenshot River

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

Hyprland (tiling)

Screenshot Hyprland

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.

3rd party tools

Tipps and Tricks

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.

In autostart:

swayidle before-sleep swaylock timeout 300 'feh -rzsZFD 8 --draw-exif --draw-tinted ~/path/to/folder' resume 'killall feh'

    <keybind key="W-k">
      <action name="Execute" command="pcmanfm-qt '/usr/share/applications/org.keepassxc.KeePassXC.desktop'" />
    </keybind>
Exec=bash -c "featherpad %U && wlrctl window focus featherpad"

If images and video do not open: unset "animation" and eventually "opengl" in Preferences > Advanced.