nevaforget 467c022525 fix: panel on all monitors with keyboard exclusive
Instead of guessing the primary monitor (unreliable on Niri),
show the panel with action buttons on every monitor. All get
keyboard exclusive so the focused monitor captures input.
Also set exclusive_zone -1 to overlay Waybar, and delay
initial focus grab via GLib.idle_add for layer shell readiness.
2026-03-27 14:13:32 +01:00

Moonset

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

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

Features

  • GTK4 + 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

uv pip install .

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 → Package-Wallpaper

Entwicklung

# Tests
uv run pytest tests/ -v

# Type-Check
uv run pyright src/

Teil des Moonarch-Ökosystems

  • moonarch — Reproduzierbares Arch-Linux-Setup
  • moongreet — greetd Greeter für Wayland
  • moonlock — Wayland Lockscreen
  • moonset — Session Power Menu
Description
No description provided
Readme 845 KiB
Languages
Rust 95%
CSS 3.6%
Shell 1.4%