moonset/README.md
nevaforget e66ef76b4d feat: rewrite moonset in Rust (gtk4-rs + gtk4-layer-shell)
Feature-parity with Python v0.2.0. Same CSS, same UI, same actions.
Single 3.1 MB binary with embedded resources (CSS, wallpaper, avatar).

Modules: power.rs, i18n.rs, config.rs, users.rs, panel.rs, main.rs
45 unit tests passing. Python sources retained as reference.
2026-03-27 16:09:51 +01:00

1.4 KiB

Moonset

Wayland Session Power Menu für das Moonarch-Ökosystem.

Per Keybind aufrufbares Fullscreen-Overlay mit 5 Aktionen: Lock · Logout · Hibernate · Reboot · Shutdown

Features

  • Rust + gtk4-rs + gtk4-layer-shell (OVERLAY Layer — über Waybar)
  • Catppuccin Mocha Theme
  • Multi-Monitor-Support (Wallpaper auf Sekundärmonitoren)
  • Inline-Confirmation für destruktive Aktionen
  • Escape oder Hintergrund-Klick zum Schließen
  • DE/EN Lokalisierung
  • Konfigurierbare Wallpaper (TOML)

Installation

cargo build --release
install -Dm755 target/release/moonset /usr/bin/moonset

Oder via PKGBUILD:

cd pkg && makepkg -si

Verwendung

# Direkt starten
moonset

# Per Niri-Keybind (in ~/.config/niri/config.kdl)
# binds {
#     Mod+Escape { spawn "moonset"; }
# }

Konfiguration

Konfigurationsdatei: ~/.config/moonset/moonset.toml oder /etc/moonset/moonset.toml

# Pfad zum Hintergrundbild (optional)
background_path = "/usr/share/moonarch/wallpaper.jpg"

Wallpaper-Fallback: Konfiguration → /usr/share/moonarch/wallpaper.jpg → eingebettetes Package-Wallpaper

Entwicklung

# Tests
cargo test

# Release-Build
cargo build --release

Teil des Moonarch-Ökosystems

  • moonarch — Reproduzierbares Arch-Linux-Setup
  • moongreet — greetd Greeter für Wayland
  • moonlock — Wayland Lockscreen
  • moonset — Session Power Menu