Sway & Wayland

Sway für Einsteiger: Meine Wayland-Konfiguration erklärt

Lokale Datei, kontrollierbare Einstellungen

Die Konfiguration und Fensterdiagnose bleiben lokal. Diagnoseausgaben können Fenstertitel enthalten; gestartete Anwendungen haben eigene Datenwege.

In diesem Artikel
  1. Sway, Wayland und der restliche Desktop
  2. Variablen und Tastenkürzel lesen
  3. Zwei Monitore richtig zuordnen
  4. Workspaces und Fenster zuordnen
  5. Fensterregeln: app_id und class unterscheiden
  6. Autostart, Audio und die Statusleiste
  7. Übung: Fensterabstände ändern und prüfen
  8. Änderung zurücknehmen und Daten bewusst teilen
  9. Konfiguration und offizielle Referenzen

Sway ordnet Fenster automatisch an und lässt sich über eine Textdatei steuern. Meine Sway-Konfiguration im Cthulhu-Repository zeigt einen praktischen Desktop mit zwei Monitoren, wenigen Workspaces und eigenen Programmstarts. Wir lesen die wichtigen Stellen und testen eine kleine Änderung.

Das Tutorial setzt eine bereits laufende Sway-Sitzung voraus. Es erklärt die veröffentlichte Datei, nicht die gesamte Installation einer Distribution. Im Repository liegt auch eine ältere Arch-Kopie; diese Anleitung verwendet den Stand unter WM/sway/config, geprüft am 7. Oktober 2026.

Sway, Wayland und der restliche Desktop

Sway ist ein Wayland-Compositor mit einer an i3 angelehnten Bedienung. Er organisiert Fenster und die Ausgabe auf Bildschirmen. Programme wie Terminal, Launcher, Statusleiste und Audio-Werkzeuge kommen hinzu. Tiling bedeutet, dass normale Fenster die verfügbare Fläche in einer Anordnung teilen.

Die Konfiguration installiert diese Programme nicht. Alacritty, Rofi, Waybar, wpctl oder playerctl müssen zum jeweiligen Aufbau passen. Prüfe insbesondere, ob dein Programmstarter Wayland unterstützt. Wer zuerst den Unterschied zu meinem X11-Aufbau verstehen möchte, findet ihn im XMonad-Artikel.

Variablen und Tastenkürzel lesen

Der Anfang benennt wiederverwendbare Werte:

set $mod Mod4
set $term alacritty
set $menu rofi -show drun -show-icons

$mod ist hier Super, normalerweise die Windows-Taste. $term enthält das Terminalkommando, $menu den Programmstarter. Dadurch lässt sich ein Programm an einer Stelle ändern, ohne jeden Tasteneintrag umzuschreiben.

bindsym $mod+Return exec $term
bindsym $mod+d exec $menu
bindsym $mod+q kill
bindsym $mod+f fullscreen toggle
bindsym $mod+Shift+f floating toggle
bindsym $mod+Shift+c reload

bindsym verbindet eine Tastenkombination mit einer Aktion. exec startet ein Programm; kill schließt das fokussierte Fenster. Floating löst ein Fenster aus der Kachelanordnung. Die genannten Tasten stammen aus meiner Datei und können von der Standardkonfiguration deiner Distribution abweichen.

Zwei Monitore richtig zuordnen

In meiner Datei steht der Hauptmonitor links, der zweite rechts daneben:

output DP-1 resolution 3440x1440@144.000Hz position 0,0 adaptive_sync off
output HDMI-A-1 resolution 1920x1080@60Hz position 3440,0 adaptive_sync off

Die zweite X-Position beginnt bei 3440, der Breite des ersten Bildschirms in diesem Aufbau. Namen, Auflösungen und Bildraten sind persönliche Hardwarewerte. Adaptive Sync ist hier ausgeschaltet; das ist keine allgemeine Empfehlung für alle Monitore.

Frage in deiner laufenden Sway-Sitzung zuerst die tatsächlichen Ausgänge und verfügbaren Modi ab:

swaymsg -t get_outputs

Vergleiche Name und Modus mit deinem eigenen Aufbau, bevor du Monitorzeilen übernimmst. Bei Skalierung musst du auch die logische Anordnung beachten. Für einen Laptop mit nur einem internen Display ist mein Zwei-Monitor-Block unnötig. Auch die Hintergrundbilder unter /home/nebu/... brauchen eigene, vorhandene Pfade.

Workspaces und Fenster zuordnen

Workspaces sind Arbeitsflächen. Meine Datei benennt zwei und weist sie den Monitoren zu:

set $ws1 "1"
set $ws2 "2"
workspace $ws1 output DP-1
workspace $ws2 output HDMI-A-1
bindsym $mod+1 workspace number $ws1
bindsym $mod+Shift+1 move container to workspace number $ws1

Super + 1 öffnet Workspace 1. Mit Super + Shift + 1 verschiebst du das fokussierte Fenster dorthin. Die entsprechende Belegung für Workspace 2 steht ebenfalls in der Datei. Eine Monitorzuordnung bestimmt, wo diese Arbeitsfläche erscheinen soll; sie ist keine feste Regel für jede gestartete Anwendung.

Die veröffentlichte Datei hat eigene, knappe Belegungen. Für zusätzliche Fokus- und Split-Tasten kannst du dich an der Sway-Standardkonfiguration orientieren und sie bewusst ergänzen. Das vollständige Ersetzen einer vorhandenen Datei kann sonst vertraute Tasten entfernen.

Fensterregeln: app_id und class unterscheiden

Ein Dialog oder eine virtuelle Maschine ist oft als schwebendes Fenster angenehmer. Meine Datei enthält beispielsweise:

for_window [app_id="virt-manager"] floating enable, resize set 1000 700, move position center
for_window [class="Steam"] floating enable

app_id identifiziert native Wayland-Fenster, class X11-Fenster über XWayland. Der richtige Wert hängt vom tatsächlichen Programm und dessen Fenster ab. Um Eigenschaften zu untersuchen, verwende:

swaymsg -t get_tree

Suche das gewünschte Fenster und prüfe seine Kennung. Titelbasierte Regeln können zu breit greifen; teste eine Regel mit einem klar erkennbaren Fenster. Die persönlichen Regeln für Spiele, Videoeditoren und Emulatoren zeigen meinen Bedarf, garantieren aber keinen allgemeinen Fix für deren Verhalten.

Autostart, Audio und die Statusleiste

exec startet einen Befehl beim Sitzungsstart. exec_always führt ihn zusätzlich bei Reloads erneut aus. Meine Datei verwendet Letzteres für autotiling und einen verzögerten Waybar-Neustart. Ein Reload kann deshalb weitere Prozesse starten oder die Leiste neu aufbauen.

Die Lautstärketasten rufen wpctl auf, die Mediensteuerung playerctl. Der Print-Eintrag startet xfce4-screenshooter; dessen Eignung ist in der jeweiligen Wayland-Umgebung zu prüfen. Ein Tasteneintrag ist noch kein Nachweis, dass der Helfer installiert ist oder auf jedem System funktioniert.

Ein Umgebungsaufruf aktualisiert außerdem Wayland-/Desktop-Werte für D-Bus-aktivierte Programme. Die genaue Portal-Einrichtung gehört zur Distribution. Die Leiste selbst wird im Waybar-Tutorial mit einer getrennten Testdatei erklärt.

Übung: Fensterabstände ändern und prüfen

Verwende deinen tatsächlich aktiven Konfigurationspfad. Das folgende Beispiel nimmt ~/.config/sway/config an; ältere oder ausdrücklich anders gestartete Setups können einen anderen Pfad laden. Sichere die Datei:

cp -a --backup=numbered ~/.config/sway/config ~/.config/sway/config.before-tutorial

Ändere nur den vorhandenen inneren Abstand, etwa von 8 auf 12:

gaps inner 12

Prüfe die bearbeitete Datei innerhalb deiner funktionierenden Sitzung:

sway --validate --config ~/.config/sway/config

Korrigiere gemeldete Konfigurationsfehler vor dem nächsten Schritt. Die Validierung prüft keine Hardwareeignung und nicht jedes externe Programm. Bei erfolgreicher Prüfung lade die Konfiguration:

swaymsg reload

Öffne zwei gekachelte Fenster. Der Zwischenraum sollte sich verändern. Beachte auch die Antwort von Sway und mögliche Meldungen der Autostart-Helfer. Für diese Übung bleiben Monitor- und Netzwerkangaben unverändert.

Änderung zurücknehmen und Daten bewusst teilen

Setze den Abstand auf den bisherigen Wert zurück oder stelle die Sicherung wieder her, wenn keine späteren Änderungen verloren gehen:

cp -a ~/.config/sway/config.before-tutorial ~/.config/sway/config

Validiere die wiederhergestellte Datei und führe danach erneut swaymsg reload aus. Bearbeiten und Prüfen bleiben lokal. Fensterbäume können Dokumenttitel und Programminformationen enthalten; sie gehören vor einem öffentlichen Hilfe-Post durchgesehen. Das gilt auch für persönliche Dateipfade in der Konfiguration.

Konfiguration und offizielle Referenzen

Quellcode und Befehlsreferenzen wurden am 7. Oktober 2026 geprüft.