3 min read

KDE Plasma mit i3 als Window Manager unter Arch Linux - Mein Setup

Gerade in seinen vielen Desktop Environment Möglichkeiten unterscheidet sich Linux am stärksten von Windows. Zunächst habe ich nach meinem Umstieg auf Linux (ca. August 2018) XFCE und KDE genutzt. Beides gefiel mir wegen der simplen Bedienung, anpassbarem Aussehen und bei KDE der großen Erweiterbarkeit. Irgendwann kam ich dann zu i3, und mein heutiges Setup nutzt die folgende Kombination aus KDE mit i3 als WM statt Kwin.

Installation

Folgende Pakete werden benötigt:

i3-gaps (ich benutze i3-gaps-rounded-git, ermöglicht Runde Fensterecken unter i3), i3-status zusätzlich zu einer Standard Plasma Installation.

Optional: feh (Hintergrund), scrot (Screenshots), dmenu (Application Launcher), rofi, picom, ...

yay -S i3-gaps-rounded-git i3-status feh scrot dmenu picom

XSession Eintrag anlegen

Der folgende Eintrag sollte unter /usr/share/xsessions/plasma-i3.desktop angelegt werden, damit der Login Manager (in meinem Fall SDDM) die Session starten kann:

[Desktop Entry]
Type=XSession
Exec=env KDEWM=/usr/bin/i3 /usr/bin/startplasma-x11
TryExec=/usr/bin/startplasma-x11
DesktopNames=KDE
Name=Plasma-i3
Comment=Plasma by KDE with i3
X-KDE-PluginInfo-Version=5.19.4

i3 Konfiguration

Um meine i3 Konfiguration zu übernehmen, muss lediglich mein Config File nach ~/.config/i3/config verschoben werden, danach sollte es automatisch von i3 benutzt werden.
In diesem Artikel werde ich jedoch nur auf ein paar Anpassungen eingehen.

Floating für alle KDE Plasma Fenster aktivieren:

for_window [class="plasmashell"] floating enable
for_window [class="Plasma"] floating enable; border none
for_window [title="plasma-desktop"] floating enable
for_window [class="Plasmoidviewer"] floating enable
for_window [title="Desktop — Plasma"] kill; floating enable; border none
for_window [class="plasmashell"] floating enable;
for_window [class="Plasma"] floating enable; border none
for_window [title="plasma-desktop"] floating enable; border none
for_window [title="win7"] floating enable; border none
for_window [class="krunner"] floating enable; border none
for_window [class="Kmix"] floating enable; border none
for_window [class="Klipper"] floating enable; border none
for_window [class="Plasmoidviewer"] floating enable; border none
for_window [class="plasmashell" window_type="notification"] floating enable, border none, move right 700px, move down 450px, no_focus 
for_window [title="Desktop — Plasma"] kill; floating enable; border none

Ungerade Workspaces immer auf dem primären und gerade auf dem sekundären Monitor anzeigen:

set $primary_screen DisplayPort-0
set $secondary_screen DisplayPort-1

workspace 1 output $primary_screen
workspace 2 output $secondary_screen
workspace 3 output $primary_screen
workspace 4 output $secondary_screen
workspace 5 output $primary_screen
workspace 6 output $secondary_screen
workspace 7 output $primary_screen
workspace 8 output $secondary_screen
workspace 9 output $primary_screen

Screenshots vom kompletten Bildschirm mit Druck / bzw. wie mit dem Snipping Tool Bereiche mit Mod + Shift + s nach ~/Pictures/screenshots speichern:

# Screenshot Source: https://www.reddit.com/r/i3wm/comments/65vis5/screenshot_commands_from_my_i3_config/
# Multi-screen screenshots with scrot
bindsym --release Print exec scrot -p 'screenshot_%Y%m%d_%H%M%S.png' -e 'mkdir -p ~/Pictures/screenshots && mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/`ls -1 -t ~/Pictures/screenshots | head -1`' # All screens

# OSX-like area selection screenshots
bindsym --release $mod+Shift+s exec scrot --freeze -s 'screenshot_%Y%m%d_%H%M%S.png' -e 'mkdir -p ~/Pictures/screenshots && mv $f ~/Pictures/screenshots && xclip -selection clipboard -t image/png -i ~/Pictures/screenshots/`ls -1 -t ~/Pictures/screenshots | head -1`' # Area selection

Hintergrundbild festlegen:

exec_always feh --bg-scale ~/Wallpaper/bigsur.jpg

# Randomize Wallpapers
#exec_always feh --randomize --bg-scale ~/Pictures/wallpaper/*

Mit Mod + Mausrad Workspaces wechseln:

# scroll through workspaces
#bindsym $mod+button4 workspace next
bindsym --whole-window $mod+button4 workspace prev_on_output
bindsym --whole-window $mod+button5 workspace next_on_output

Durch erneutes auswählen des aktuellen Workspaces zurück zum vorherigen wechseln:

# back to previous workspace when pressing combination of the current workspace
workspace_auto_back_and_forth yes

Den Plasma Shutdown/Reboot Screen mit Mod + Ende aufrufen:

#exit i3 session
bindsym $mod+End exec --no-startup-id qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1

Picom Konfiguration

Mithilfe des Forks picom-tryone-git kann man den Hintergrund von durchsichtigen Fenstern bluren. Dieser Branch enthält die Blur Methode dual_kawase, welche ich benutze.
Update: Heute (31-08-2020) wurde die Blur Methode dual_kawase in picom gemerged, sodass picom-tryone-git nicht mehr nötig ist. Somit funktioniert das Vorgehen auch mit picom-git.

Dazu habe ich die entsprechende picom.conf unter ~/.config/ angelegt. Entscheidend sind diese Zeilen:

blur:
{
method = "dual_kawase";
size = 25;
deviation = 5.0;
}

Weiterhin sollte in der i3 Config durch die Zeile picom beim einloggen gestartet werden:
exec_always --no-startup-id picom --backend glx --experimental-backends -bc

Quellen

heckelson @github
KDE UserBase Wiki
ryanlue.com
i3 Subreddit

Author: peterge