Erste Schritte - MorgenWM

Erste Schritte

English Version

Schritt 1: Abhängigkeiten installieren

Setup baut MorgenWM selbst und installiert keine Laufzeit-Tools. Installiere nur, was du wirklich brauchst:

  • Base (Minimal-Preset): keine Extras außer den Kern-Abhängigkeiten unten.
  • Full-Preset (Panel + Hintergrund + Launcher + Idle-Lock + Auth + Bildschirmtemperatur + Screenshot + Terminal + Browser + Emoji): zusätzlich wbg, vibepanel, fuzzel, swayidle, waylock, mate-polkit, wlsunset, grim, slurp, wl-clipboard, wtype, xdg-user-dirs, foot, firefox, glow (Markdown-Browser für den Doks-Menüeintrag) und eine Emoji-Schriftart wie noto-fonts-emoji installieren. Setup klont außerdem bemoji (den Emoji-Picker) nach ~/.local/bin und lädt seine Emoji-Datenbank herunter.

Kern-Abhängigkeiten (für jedes Preset nötig):

DistributionBefehl
Arch Linuxsudo pacman -S river nim wlr-randr libxkbcommon pkgconf
FedoraSiehe Hinweis unten
Void LinuxSiehe Hinweis unten
Alpine LinuxSiehe Hinweis unten

Benötigte Pakete allgemein:

  • Nim >= 2.0.0
  • River >= 0.4
  • git
  • libxkbcommon (wird beim Bauen gelinkt für Live-Tastaturlayout-Wechsel)
  • pkg-config (wird von setup.sh verwendet, um libxkbcommon zu verifizieren)
  • wlr-randr (optional, nur für benutzerdefinierte Bildschirmmodi)

Fedora

Nim ist nicht in den Standard-Repositorys von Fedora verfügbar. Aktiviere zuerst das Terra-Repository und installiere dann die Abhängigkeiten:

sudo dnf install terra-release
sudo dnf install nim river wayland-devel libxkbcommon-devel pkgconfig wlr-randr

Alpine Linux

doas apk add nim river wayland-dev libxkbcommon-dev pkgconf wlr-randr

Void Linux

MorgenWM ist in der Void Community Repository (oco) mit vorgebauten Binaries verfügbar, inklusive kompatiblem river:

# Repository hinzufügen
echo 'repository=https://repo.osowoso.org/x86_64' | sudo tee /etc/xbps.d/00-VUR.conf

# Repository-Key installieren
curl -fsSL "https://codeberg.org/oSoWoSo/oco/raw/branch/OCO/keys/oco-repo-key.plist" \
  -o /tmp/oco-repo-key.plist 2>/dev/null || \
curl -fsSL "https://raw.githubusercontent.com/oSoWoSo/Void_Community_Repository/OCO/keys/oco-repo-key.plist" \
  -o /tmp/oco-repo-key.plist
sudo cp /tmp/oco-repo-key.plist /var/db/xbps/keys/oco-repo-key.plist

# Aktualisieren und installieren
sudo xbps-install -S morgenwm

Full-Preset-Extras (nur nötig, wenn du das full-Preset wählst):

DistributionInstallation
Arch Linuxyay -S vibepanel-bin wbg (AUR) + sudo pacman -S fuzzel swayidle waylock mate-polkit wlsunset grim slurp wl-clipboard wtype xdg-user-dirs foot firefox glow noto-fonts-emoji
FedoraTerra oder COPR aktivieren, dann sudo dnf install vibepanel wbg fuzzel swayidle waylock mate-polkit wlsunset grim slurp wl-clipboard wtype xdg-user-dirs foot firefox glow google-noto-emoji-fonts
Void Linuxsudo xbps-install vibepanel wbg fuzzel swayidle waylock mate-polkit wlsunset grim slurp wl-clipboard wtype xdg-user-dirs foot firefox glow noto-fonts-emoji
Alpine Linuxdoas apk add wbg fuzzel swayidle waylock mate-polkit wlsunset grim slurp wl-clipboard wtype xdg-user-dirs foot firefox glow font-noto-emoji (plus vibepanel aus dem Quellcode kompiliert)

Fedora

Installiere vibepanel über das Terra-Repository oder COPR:

# Terra
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
sudo dnf install vibepanel

# oder COPR
sudo dnf copr enable prankstr/vibepanel
sudo dnf install vibepanel

Setup installiert diese nicht automatisch. Installiere sie mit deinem Paketmanager und wähle dann beim Setup das full-Preset.

Config-Hinweise für das Full-Preset:

  • wlsunset braucht deinen Standort für die Bildschirmtemperatur. Die Config enthält einen Berlin-Platzhalter (wlsunset -l 52.52 -L 13.41). Ersetze ihn in ~/.config/morgenwm/config.toml durch die Breiten- und Längengrade deiner Stadt, sonst ist der Farbton falsch.
  • waylock hat eine optionale Config unter ~/.config/waylock/config.toml (Lock-Farben, Schrift). Ohne sie wird ein schlichter schwarzer Lock verwendet.
  • vibepanel läuft mit sinnvollen Standardwerten, wenn es noch keine vibepanel-Config gibt.
  • Alles andere (wbg, mate-polkit, swayidle, grim, slurp) läuft direkt ohne Config-Datei.
  • Emoji-Picker (`Mod + e`): Setup klont bemoji nach ~/.local/bin und führt bemoji -D all aus, um die Emoji-Datenbank herunterzuladen. Um die Emoji-Glyphen in fuzzel (und überall sonst) tatsächlich zu sehen, muss eine Emoji-Schriftart installiert sein, z.B. noto-fonts-emoji (Arch), google-noto-emoji-fonts (Fedora), font-noto-emoji (Alpine) oder noto-fonts-emoji (Void). Ohne sie zeigt fuzzel leere Kästchen statt der Emojis. bemoji braucht außerdem wtype (zum Tippen des gewählten Emoji) und wl-clipboard (zum Kopieren).

Hintergrundbilder:

Setup kopiert die mitgelieferten Hintergrundbilder nach ~/.config/morgenwm/wallpapers und fragt, wie sie verwendet werden sollen:

  • fixed: ein Bild behalten, kein Auto-Wechsel
  • random: beim Start ein zufälliges Bild wählen
  • slideshow: alle 10 Minuten das Bild wechseln

Die Wahl wird in ~/.config/morgenwm/wallpaper.mode gespeichert. Das wallpaper-Helferprogramm (installiert nach ~/.local/bin/wallpaper) führt es beim Login aus, und Mod+n wechselt jederzeit zum nächsten Bild, in jedem Modus.

Du kannst es auch manuell steuern:

wallpaper next               # nächstes Bild
wallpaper random             # zufälliges Bild
wallpaper fixed /pfad/zum/bild # bestimmtes Bild setzen
wallpaper slideshow 120      # Slideshow alle 2 Minuten

Schritt 2: Bauen & Installieren

Klonen, kompilieren und optional nach ~/.local/bin installieren:

git clone https://codeberg.org/LinuxNation/MorgenWM.git
cd MorgenWM
chmod +x setup.sh
./setup.sh

Das Setup-Skript führt folgende Schritte aus:

  1. Installiert Nim-Abhängigkeiten (nayland, toml_serialization)
  2. Generiert River-Protokoll-Bindings
  3. Kompiliert alle drei Binärdateien im Release-Modus
  4. Erstellt optional eine Konfigurationsdatei unter ~/.config/morgenwm/config.toml. Das Setup fragt nach einem Preset und, falls du full wählst, welche Tools du installieren musst (Taste d listet sie).
  5. Kopiert optional Binärdateien nach ~/.local/bin
  6. Installiert optional einen Desktop-Session-Eintrag nach /usr/share/wayland-sessions/, damit dein Display-Manager (GDM, SDDM, LightDM) MorgenWM als Session auflistet

Dies ist ein einmaliger Schritt. Zum Aktualisieren siehe Aktualisieren.

Erster Start

Wenn die Binärdateien nach ~/.local/bin installiert wurden:

launch_morgenwm

Oder direkt aus dem Projektverzeichnis:

./bin/launch_morgenwm

launch_morgenwm liest deine Konfiguration, setzt das Tastaturlayout und startet dann River mit MorgenWM als Init-Programm. Du siehst River starten und MorgenWM verwaltet deine Fenster.

Wenn du den Desktop-Session-Eintrag installiert hast (Schritt 6 des Setups), kannst du dich stattdessen abmelden und MorgenWM aus der Session-Liste deines Display-Managers wählen. Der Session-Eintrag führt launch_morgenwm aus.

Binärdateien

BinärdateiZweck
morgenwmDer Fenster-Manager selbst (River-Init-Programm; auch: --version, validate)
launch_morgenwmStarter: liest Konfiguration, setzt XKB-Layout, startet River
morgenwm_msgCLI-Client für den IPC-Socket

Konfiguration

Beim ersten Start verwendet MorgenWM die eingebauten Standardwerte. Um Anpassungen vorzunehmen, erstelle eine Konfigurationsdatei:

mkdir -p ~/.config/morgenwm
cp example/config-minimal.toml ~/.config/morgenwm/config.toml   # minimale WM
# oder, für einen Desktop, der sofort funktioniert:
cp example/config-full.toml ~/.config/morgenwm/config.toml      # Panel + Hintergrund + Launcher

Alle verfügbaren Optionen findest du in der Konfigurationsreferenz.

Um zu prüfen, ob deine Konfigurationsdatei korrekt geparst wird:

morgenwm validate

Aktualisieren

cd MorgenWM
git pull
nimble release

Wenn du nach ~/.local/bin installiert hast, kopiere die neuen Binärdateien:

cp bin/morgenwm bin/launch_morgenwm bin/morgenwm_msg ~/.local/bin/