1
0
Fork 0
1 WAYLAND_MONITOR_SETUP
Zenny edited this page 2025-10-27 20:15:43 +01:00

Wayland Monitor Configuration Guide

Alternativen zu xrandr für Wayland-Compositoren.

Übersicht: xrandr-Äquivalente für Wayland

Tool Compositor Empfehlung
niri msg Niri Beste Option für Niri
wlr-randr wlroots-basiert Universal für Sway, River, etc.
swaymsg Sway Beste Option für Sway
hyprctl Hyprland Beste Option für Hyprland
wdisplays Alle GUI-Tool (wie arandr)
kanshi Alle Auto-Config basierend auf angeschlossenen Monitoren
wlay wlroots-basiert CLI alternative

1. niri msg (für Niri) EMPFOHLEN FÜR DICH

Alle Monitore anzeigen

niri msg outputs

Ausgabe:

Output "eDP-1"
  Current mode: 1920x1080 @ 60.000 Hz
  Position: 0,0
  Scale: 1.0
  Transform: normal

Output "HDMI-A-2"
  Current mode: 1920x1080 @ 60.000 Hz
  Position: 1920,0
  Scale: 1.0
  Transform: normal

Monitor-Konfiguration

In Niri erfolgt die Konfiguration direkt in der config.kdl:

// ~/.config/niri/config.kdl

// Laptop-Display
output "eDP-1" {
    mode "1920x1080@60.030"
    scale 1.5
    transform "normal"
    position x=0 y=0
}

// Externer Monitor 1
output "HDMI-A-2" {
    mode "1920x1080@60"
    scale 1.0
    transform "normal"
    position x=1280 y=0  // Berücksichtigt Scale von eDP-1
}

// Vertikaler Monitor (90° gedreht)
output "DP-1" {
    mode "1920x1080@60"
    scale 1.0
    transform "90"  // oder "270"
    position x=0 y=-1080
}

Verfügbare Transform-Werte

  • normal - keine Rotation
  • 90 - 90° gegen Uhrzeigersinn
  • 180 - 180° gedreht
  • 270 - 270° gegen Uhrzeigersinn
  • flipped - horizontal gespiegelt
  • flipped-90, flipped-180, flipped-270 - gespiegelt + rotiert

Monitor aktivieren/deaktivieren

output "eDP-1" {
    off  // Monitor deaktivieren
}

Live-Reload

Niri lädt die Config automatisch neu - einfach speichern!


2. wlr-randr (Universal für wlroots) EMPFOHLEN FÜR MULTI-COMPOSITOR

Installation

# Arch Linux
sudo pacman -S wlr-randr

# Andere Distros
# Debian/Ubuntu: sudo apt install wlr-randr
# Fedora: sudo dnf install wlr-randr

Alle Monitore anzeigen

wlr-randr

Ausgabe:

eDP-1 "Built-in screen" (connected)
  Physical size: 340x190 mm
  Enabled: yes
  Modes:
    1920x1080 px, 60.000000 Hz (current)
    1680x1050 px, 60.000000 Hz
  Position: 0,0
  Transform: normal
  Scale: 1.000000

HDMI-A-2 "External monitor" (connected)
  Physical size: 530x300 mm
  Enabled: yes
  Modes:
    1920x1080 px, 60.000000 Hz (current)
    1920x1080 px, 50.000000 Hz
  Position: 1920,0
  Transform: normal
  Scale: 1.000000

Monitor konfigurieren

Resolution ändern:

wlr-randr --output HDMI-A-2 --mode 1920x1080@60

Position setzen:

wlr-randr --output HDMI-A-2 --pos 1920,0

Rotation:

wlr-randr --output DP-1 --transform 90  # oder 0, 90, 180, 270

Scale (HiDPI):

wlr-randr --output eDP-1 --scale 1.5

Monitor aus/an:

wlr-randr --output HDMI-A-2 --off
wlr-randr --output HDMI-A-2 --on

Alle Monitore aus:

wlr-randr --output '*' --off

Komplettes Setup-Beispiel

# Laptop-Display: 1920x1080, scale 1.5, Position 0,0
wlr-randr --output eDP-1 --mode 1920x1080@60 --scale 1.5 --pos 0,0

# Externer Monitor: 1920x1080, Position rechts vom Laptop
wlr-randr --output HDMI-A-2 --mode 1920x1080@60 --pos 1280,0

# Vertikaler Monitor: 1920x1080, 90° gedreht, Position links
wlr-randr --output DP-1 --mode 1920x1080@60 --transform 90 --pos -1080,0

3. swaymsg (für Sway)

Alle Monitore anzeigen

swaymsg -t get_outputs

Konfiguration in Sway

In ~/.config/sway/config:

# Laptop-Display
output eDP-1 {
    resolution 1920x1080@60Hz
    position 0,0
    scale 1.5
    transform normal
}

# Externer Monitor
output HDMI-A-2 {
    resolution 1920x1080@60Hz
    position 1280,0
    scale 1.0
}

# Vertikaler Monitor
output DP-1 {
    resolution 1920x1080@60Hz
    position -1080,0
    transform 90
}

Runtime-Änderungen

swaymsg output HDMI-A-2 mode 1920x1080@60Hz
swaymsg output HDMI-A-2 pos 1920 0
swaymsg output HDMI-A-2 scale 1.5
swaymsg output HDMI-A-2 transform 90

4. hyprctl (für Hyprland)

Alle Monitore anzeigen

hyprctl monitors

Konfiguration in Hyprland

In ~/.config/hypr/hyprland.conf:

# Format: monitor=NAME,RESOLUTION@REFRESH,POSITION,SCALE,TRANSFORM
monitor=eDP-1,1920x1080@60,0x0,1.5,transform,0
monitor=HDMI-A-2,1920x1080@60,1280x0,1
monitor=DP-1,1920x1080@60,-1080x0,1,transform,1

Transform-Werte:

  • 0 = normal
  • 1 = 90°
  • 2 = 180°
  • 3 = 270°

5. wdisplays (GUI) EMPFOHLEN FÜR ANFÄNGER

Installation

# Arch Linux
sudo pacman -S wdisplays

# Andere Distros
# Debian/Ubuntu: sudo apt install wdisplays
# Fedora: sudo dnf install wdisplays

Verwendung

wdisplays

Features:

  • Drag & Drop Monitor-Anordnung (wie arandr für X11)
  • Visuelle Darstellung der Monitor-Positionen
  • Resolution, Scale, Rotation per Dropdown
  • Speichern von Profilen
  • Funktioniert mit allen wlroots-basierten Compositoren

6. kanshi (Auto-Konfiguration) EMPFOHLEN FÜR DYNAMISCHE SETUPS

Kanshi erkennt automatisch angeschlossene Monitore und lädt passende Profile.

Installation

# Arch Linux
sudo pacman -S kanshi

Monitor-Informationen herausfinden

Bevor du kanshi konfigurierst, musst du die genauen Monitor-Informationen kennen:

Option 1: Mit wlr-randr (empfohlen)

wlr-randr

Ausgabe-Beispiel:

eDP-1 "BOE 0x095F Unknown (eDP-1)" (connected)
  Physical size: 344x194 mm
  Make: BOE
  Model: 0x095F
  Serial: Unknown
  Enabled: yes
  Modes:
    1920x1080 px, 60.049000 Hz (current)
  Position: 0,0
  Transform: normal
  Scale: 1.000000

HDMI-A-2 "Dell Inc. DELL U2415 D3TM8456ABCD" (connected)
  Physical size: 520x320 mm
  Make: Dell Inc.
  Model: DELL U2415
  Serial: D3TM8456ABCD
  Enabled: yes
  Modes:
    1920x1200 px, 59.950000 Hz (current)
    1920x1080 px, 60.000000 Hz
  Position: 1920,0
  Transform: normal
  Scale: 1.000000

DP-1 "Samsung Electric Company S24C650 H4ZN123456" (connected)
  Physical size: 521x293 mm
  Make: Samsung Electric Company
  Model: S24C650
  Serial: H4ZN123456
  Enabled: yes
  Modes:
    1920x1080 px, 60.000000 Hz (current)
  Position: 3840,0
  Transform: 90
  Scale: 1.000000

Wichtige Informationen:

  • Output-Name: eDP-1, HDMI-A-2, DP-1
  • Make: Hersteller (z.B. "Dell Inc.", "Samsung Electric Company")
  • Model: Modellnummer (z.B. "DELL U2415", "S24C650")
  • Serial: Seriennummer (z.B. "D3TM8456ABCD") - wichtig für eindeutige Identifikation!

Option 2: Mit niri msg

niri msg outputs

Ausgabe-Beispiel:

Output "eDP-1"
  Make: BOE
  Model: 0x095F
  Serial: Unknown
  Current mode: 1920x1080 @ 60.049 Hz
  Position: 0,0
  Scale: 1.0
  Transform: normal

Output "HDMI-A-2"
  Make: Dell Inc.
  Model: DELL U2415
  Serial: D3TM8456ABCD
  Current mode: 1920x1200 @ 59.950 Hz
  Position: 1920,0
  Scale: 1.0
  Transform: normal

Option 3: Mit swaymsg (für Sway)

swaymsg -t get_outputs | jq '.[].make, .[].model, .[].serial'

Konfiguration

~/.config/kanshi/config:

Basis-Konfiguration (Output-Namen)

# Profil: Nur Laptop
profile laptop {
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.0
}

# Profil: Laptop + externer Monitor
profile docked {
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.5
    output HDMI-A-2 mode 1920x1080@60Hz position 1280,0 scale 1.0
}

# Profil: Nur externe Monitore (Laptop zu)
profile desktop {
    output eDP-1 disable
    output HDMI-A-2 mode 1920x1080@60Hz position 0,0 scale 1.0
    output DP-1 mode 1920x1080@60Hz position 1920,0 scale 1.0 transform 90
}

Problem: HDMI-A-2 kann verschiedene Monitore sein! Lösung: Seriennummern verwenden.


Erweiterte Konfiguration (mit Seriennummern) EMPFOHLEN

Syntax:

output "Make Model Serial" mode WxH@refresh position X,Y scale SCALE transform TRANSFORM

Vollständiges Beispiel:

# ==========================================
# Home Office Setup
# ==========================================
profile home-office {
    # Laptop-Display (integriert, keine Serial)
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.5

    # Dell U2415 Monitor (links)
    output "Dell Inc. DELL U2415 D3TM8456ABCD" {
        mode 1920x1200@60Hz
        position 1280,0
        scale 1.0
        transform normal
    }

    # Samsung Monitor (rechts, vertikal)
    output "Samsung Electric Company S24C650 H4ZN123456" {
        mode 1920x1080@60Hz
        position 3200,0
        scale 1.0
        transform 90
    }
}

# ==========================================
# Büro Setup
# ==========================================
profile office {
    # Laptop-Display ausschalten
    output eDP-1 disable

    # Dell Büro-Monitor (Hauptmonitor)
    output "Dell Inc. DELL P2419H 5K8RP12345AB" {
        mode 1920x1080@60Hz
        position 0,0
        scale 1.0
    }

    # Zusätzlicher Monitor (rechts)
    output "Hewlett Packard HP E243 CN12345678" {
        mode 1920x1080@60Hz
        position 1920,0
        scale 1.0
    }
}

# ==========================================
# Unterwegs / Nur Laptop
# ==========================================
profile mobile {
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.0
}

# ==========================================
# Gaming Setup (z.B. am TV)
# ==========================================
profile gaming {
    output eDP-1 disable

    # LG OLED TV
    output "LG Electronics LG TV SSCR2 0x01010101" {
        mode 3840x2160@60Hz
        position 0,0
        scale 2.0
    }
}

# ==========================================
# Präsentations-Setup (Beamer)
# ==========================================
profile presentation {
    # Laptop-Display an (zum Steuern)
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.0

    # Beamer (meist generische Info)
    output HDMI-A-1 {
        mode 1920x1080@60Hz
        position 1920,0
        scale 1.0
    }
}

Erweiterte Syntax-Optionen

Wildcards und Muster

# Jeder Dell Monitor (wenn Serial nicht wichtig)
profile any-dell {
    output "Dell Inc. *" mode 1920x1080@60Hz position 1920,0
}

# Alle Monitore auf HDMI
profile hdmi-only {
    output HDMI-A-* mode 1920x1080@60Hz position 0,0
}

Exec-Befehle (zusätzliche Aktionen)

profile home-office {
    output eDP-1 mode 1920x1080@60Hz position 0,0
    output "Dell Inc. DELL U2415 D3TM8456ABCD" mode 1920x1200@60Hz position 1920,0

    # Führe Befehle aus wenn dieses Profil geladen wird
    exec notify-send "Kanshi" "Home Office Setup aktiviert"
    exec swaybg -o eDP-1 -i ~/Bilder/wallpaper-laptop.png &
    exec swaybg -o HDMI-A-2 -i ~/Bilder/wallpaper-monitor.png &
}

Include-Direktive

# Haupt-Config: ~/.config/kanshi/config
include ~/.config/kanshi/home.conf
include ~/.config/kanshi/office.conf

Dann in separaten Dateien:

~/.config/kanshi/home.conf:

profile home-setup {
    output eDP-1 mode 1920x1080@60Hz position 0,0
    output "Dell Inc. DELL U2415 D3TM8456ABCD" mode 1920x1200@60Hz position 1920,0
}

Monitor-Matching Regeln

Kanshi wählt das erste passende Profil aus. Reihenfolge ist wichtig!

Beispiel: Spezifisch vor generisch

# ✅ RICHTIG: Spezifische Profile zuerst

# 3-Monitor Setup (sehr spezifisch)
profile triple-monitor {
    output eDP-1 disable
    output "Dell Inc. DELL U2415 D3TM8456ABCD" mode 1920x1200@60Hz position 0,0
    output "Samsung Electric Company S24C650 H4ZN123456" mode 1920x1080@60Hz position 1920,0
    output "LG Electronics 24MP88 123456789ABC" mode 1920x1080@60Hz position 3000,0
}

# 2-Monitor Setup (mittel spezifisch)
profile dual-monitor {
    output eDP-1 mode 1920x1080@60Hz position 0,0
    output "Dell Inc. DELL U2415 D3TM8456ABCD" mode 1920x1200@60Hz position 1920,0
}

# Fallback: Nur Laptop (generisch)
profile laptop-only {
    output eDP-1 mode 1920x1080@60Hz position 0,0
}
# ❌ FALSCH: Generisches Profil zuerst würde immer matchen!

profile laptop-only {
    output eDP-1 mode 1920x1080@60Hz position 0,0
}

# Wird nie erreicht, weil laptop-only immer passt
profile dual-monitor {
    output eDP-1 mode 1920x1080@60Hz position 0,0
    output "Dell Inc. DELL U2415 D3TM8456ABCD" mode 1920x1200@60Hz position 1920,0
}

Starten und Verwenden

Manuell starten

# Mit Debug-Output
kanshi -v

# Im Hintergrund
kanshi &

In niri autostart

# ~/.config/niri/config.kdl
spawn-at-startup "kanshi"

Als systemd service

Service erstellen:

mkdir -p ~/.config/systemd/user/

~/.config/systemd/user/kanshi.service:

[Unit]
Description=Dynamic display configuration
Documentation=man:kanshi(1)
PartOf=graphical-session.target

[Service]
Type=simple
ExecStart=/usr/bin/kanshi
Restart=on-failure

[Install]
WantedBy=niri.service

Service aktivieren:

systemctl --user enable kanshi.service
systemctl --user start kanshi.service
systemctl --user status kanshi.service

Debug und Testen

Config testen

# Config-Syntax prüfen
kanshi -c ~/.config/kanshi/config

# Mit verbose logging
kanshi -v

Profil manuell aktivieren

# Aktuelles Profil anzeigen
ps aux | grep kanshi

# kanshi neu starten (lädt Config neu)
killall kanshi && kanshi &

Log-Ausgabe

# Systemd logs
journalctl --user -u kanshi -f

# Oder wenn manuell gestartet
kanshi -v 2>&1 | tee ~/kanshi.log

Beispiel: Dein Setup

Basierend auf deiner Hyprland-Config:

# ~/.config/kanshi/config

# ==========================================
# Desktop-Setup (alle 3 Monitore)
# ==========================================
profile desktop-arch {
    # Vertikaler Monitor links (90° gedreht)
    # output DP-1 mit transform 1 aus hyprland.conf
    output DP-1 {
        mode 1920x1080@60Hz
        position 0,0
        transform 90
        scale 1.0
    }

    # Hauptmonitor Mitte
    # output HDMI-A-2 aus hyprland.conf
    output HDMI-A-2 {
        mode 1920x1080@60Hz
        position 1080,0
        scale 1.0
    }

    # Rechter Monitor
    # output DP-2 aus hyprland.conf
    output DP-2 {
        mode 1920x1080@60Hz
        position 3000,0
        scale 1.0
    }

    # Exec: Wallpaper setzen
    exec ~/opt/projects/niri/swaybg/start-swaybg.sh
}

# ==========================================
# Laptop-Setup (unterwegs)
# ==========================================
profile laptop-archpad {
    output eDP-1 {
        mode 1920x1080@60Hz
        position 0,0
        scale 1.0
    }

    exec swaybg -o eDP-1 -i ~/Bilder/aesthetic-wallpapers/images/fractal.png -m fill &
}

# ==========================================
# Laptop + 1 externer Monitor
# ==========================================
profile laptop-docked {
    output eDP-1 {
        mode 1920x1080@60Hz
        position 0,0
        scale 1.0
    }

    output HDMI-A-2 {
        mode 1920x1080@60Hz
        position 1920,0
        scale 1.0
    }
}

Mit Seriennummern (nachdem du sie mit wlr-randr herausgefunden hast):

# Zuerst: Seriennummern herausfinden
wlr-randr | grep -E "(Make|Model|Serial)"

Dann:

profile desktop-arch-specific {
    # Ersetze mit echten Seriennummern!
    output "AOC 24G2W1G4 SERIALNUMBER1" {
        mode 1920x1080@60Hz
        position 0,0
        transform 90
    }

    output "Samsung Electric Company C27F390 SERIALNUMBER2" {
        mode 1920x1080@60Hz
        position 1080,0
    }

    output "BenQ BenQ GW2480 SERIALNUMBER3" {
        mode 1920x1080@60Hz
        position 3000,0
    }
}

Vorteile von kanshi

  • Automatisches Umschalten beim An-/Abstecken von Monitoren
  • Monitor-spezifische Profile (per Serial Number)
  • Mehrere Setups (Home, Office, unterwegs)
  • Exec-Commands für zusätzliche Aktionen
  • Funktioniert mit allen wlroots-Compositoren (Sway, River, niri, etc.)
  • Hotplug-Unterstützung (keine manuelle Konfiguration bei jedem Wechsel)
  • Profile-Priorität (spezifische vor generischen)

Troubleshooting

Profil wird nicht geladen

Check 1: Ist kanshi am Laufen?

ps aux | grep kanshi

Check 2: Config-Syntax prüfen

kanshi -v

Check 3: Monitor-Namen korrekt?

wlr-randr | grep -E "^[A-Z]"

Falsche Seriennummer

Manche Monitore haben keine eindeutige Seriennummer oder zeigen "Unknown":

Serial: Unknown

Lösung: Verwende Make Model ohne Serial:

output "Dell Inc. DELL U2415" mode 1920x1080@60Hz position 0,0

Zwei identische Monitore

Wenn du zwei identische Monitore hast (gleiche Serial):

# Nutze Output-Namen statt Serial
profile dual-same {
    output HDMI-A-1 mode 1920x1080@60Hz position 0,0
    output HDMI-A-2 mode 1920x1080@60Hz position 1920,0
}

Profile werden nicht gewechselt

kanshi cached die angeschlossenen Monitore. Neu starten:

killall kanshi && kanshi &

7. wlay (CLI Alternative)

Ähnlich wie wlr-randr, aber mit interaktivem Modus.

Installation

# AUR (Arch Linux)
yay -S wlay

Verwendung

wlay  # Interaktiver Modus

Vergleichstabelle

Feature niri msg wlr-randr swaymsg hyprctl wdisplays kanshi
Niri ⚠️ ⚠️
Sway
Hyprland ⚠️ ⚠️ ⚠️
GUI
Auto-Switch
Live Config

Legende:

  • Vollständig unterstützt
  • ⚠️ Teilweise (DPMS funktioniert, aber nicht alles)
  • Nicht unterstützt

Empfehlung für dein Setup (Niri)

Option 1: Niri config.kdl (statisch) EINFACHSTE LÖSUNG

Du hast bereits die Monitor-Config in deiner config.kdl:

output "DP-1" {
    mode "1920x1080@60"
    transform "90"
    position x=0 y=0
}

output "HDMI-A-2" {
    mode "1920x1080"
    position x=1080 y=0
}

output "DP-2" {
    mode "1920x1080@60"
    position x=3000 y=0
}

Vorteil: Automatisch beim Niri-Start geladen


Option 2: kanshi (dynamisch) EMPFOHLEN FÜR LAPTOP

Für deinen Laptop (eDP-1) + wechselnde externe Monitore:

Installation:

sudo pacman -S kanshi

Config: ~/.config/kanshi/config

# Laptop allein (unterwegs)
profile laptop {
    output eDP-1 mode 1920x1080@60Hz position 0,0 scale 1.0
}

# Laptop + Desktop-Setup (zu Hause)
profile desktop-docked {
    output eDP-1 disable
    output DP-1 mode 1920x1080@60Hz position 0,0 transform 90
    output HDMI-A-2 mode 1920x1080@60Hz position 1080,0
    output DP-2 mode 1920x1080@60Hz position 3000,0
}

# Nur Laptop-Display + 1 externer Monitor
profile simple-dock {
    output eDP-1 mode 1920x1080@60Hz position 0,0
    output HDMI-A-2 mode 1920x1080@60Hz position 1920,0
}

In niri starten:

spawn-at-startup "kanshi"

Vorteil: Wechselt automatisch zwischen Profilen basierend auf angeschlossenen Monitoren


Option 3: wlr-randr (manuell) FÜR SCHNELLE ÄNDERUNGEN

# Monitor-Namen herausfinden
wlr-randr

# Monitor konfigurieren
wlr-randr --output HDMI-A-2 --mode 1920x1080@60 --pos 1920,0

# Monitor ausschalten
wlr-randr --output eDP-1 --off

Vorteil: Schnelle temporäre Änderungen ohne Config-Edit


Option 4: wdisplays (GUI) FÜR VISUELLE KONFIGURATION

sudo pacman -S wdisplays
wdisplays

Vorteil: Drag & Drop Interface, einfach für Einsteiger


Skript-Beispiele

Desktop-Setup automatisch laden

#!/bin/bash
# ~/bin/monitor-setup-desktop.sh

# Check ob alle Monitore angeschlossen sind
if wlr-randr | grep -q "DP-1" && wlr-randr | grep -q "HDMI-A-2"; then
    # Laptop-Display aus
    wlr-randr --output eDP-1 --off

    # Desktop-Monitore konfigurieren
    wlr-randr --output DP-1 --mode 1920x1080@60 --transform 90 --pos 0,0
    wlr-randr --output HDMI-A-2 --mode 1920x1080@60 --pos 1080,0
    wlr-randr --output DP-2 --mode 1920x1080@60 --pos 3000,0

    echo "Desktop-Setup aktiviert"
else
    echo "Nicht alle Monitore angeschlossen"
fi

Monitor-Infos als Funktion

# In ~/.zshrc oder ~/.bashrc
monitors() {
    echo "=== Niri Outputs ==="
    niri msg outputs
    echo ""
    echo "=== wlr-randr ==="
    wlr-randr
}

Troubleshooting

Monitor wird nicht erkannt

# Check mit verschiedenen Tools
niri msg outputs
wlr-randr
ls /sys/class/drm/

Position stimmt nicht

Denk dran: Bei Scale musst du die logische Größe berechnen!

Beispiel:

  • eDP-1: 1920x1080 @ scale 1.5 = logisch 1280x720
  • HDMI-A-2: Position sollte bei x=1280 starten, nicht x=1920

Config wird nicht geladen

# Niri config validieren
niri validate

# Niri neu starten
# (Normalerweise reicht speichern für live-reload)

wlr-randr funktioniert nicht

wlr-randr funktioniert nur mit wlroots-basierten Compositoren:

  • Sway, River, Wayfire
  • ⚠️ Niri (teilweise - DPMS ja, Config nein)
  • Hyprland (eigene Implementation)

Zusammenfassung: Deine beste Option

Für Niri empfehle ich:

  1. Statisches Desktop-Setup: Nutze die config.kdl (hast du schon)
  2. Dynamisches Laptop-Setup: Installiere kanshi für automatisches Umschalten
  3. Schnelle Änderungen: Nutze wlr-randr oder niri msg
  4. Erste Konfiguration: Nutze wdisplays (GUI)

Minimales Setup:

# Installation
sudo pacman -S wlr-randr kanshi wdisplays

# kanshi starten
echo 'spawn-at-startup "kanshi"' >> ~/.config/niri/config.kdl

# Fertig!

Erstellt am: 2025-10-27 Für: Wayland Monitor-Konfiguration (xrandr-Ersatz)