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