# Moonset Wayland Session Power Menu for the Moonarch ecosystem. A fullscreen overlay triggered by keybind with 5 actions: **Lock** · **Logout** · **Hibernate** · **Reboot** · **Shutdown** ## Features - Rust + gtk4-rs + gtk4-layer-shell (OVERLAY layer — above Waybar) - Catppuccin Mocha theme - Multi-monitor support (wallpaper on secondary monitors) - Inline confirmation for destructive actions - Escape or background click to dismiss - DE/EN localization - Configurable wallpaper (TOML) ## Requirements - A Wayland compositor with `wlr-layer-shell` (Moonarch targets **Niri**) - A systemd-logind session for the default logout (`loginctl terminate-session`); other setups can override via `logout_command` - Runtime: `gtk4`, `gtk4-layer-shell` - Build: `cargo`, `git` ## Installation ```bash cargo build --release install -Dm755 target/release/moonset /usr/bin/moonset ``` Or via PKGBUILD: ```bash cd pkg && makepkg -si ``` ## Usage ```bash # Launch directly moonset # Via Niri keybind (in ~/.config/niri/config.kdl) # binds { # Mod+Escape { spawn "moonset"; } # } ``` ## Configuration Config file: `~/.config/moonset/moonset.toml` or `/etc/moonset/moonset.toml` ```toml # Path to background image (optional) background_path = "/usr/share/moonarch/wallpaper.jpg" # Logout command override (optional) # Default: loginctl terminate-session $XDG_SESSION_ID logout_command = "niri msg action quit" ``` Wallpaper fallback: config → `/usr/share/moonarch/wallpaper.jpg` → bundled package wallpaper ## Development ```bash # Tests cargo test # Release build cargo build --release ``` ## Part of the Moonarch ecosystem - **moonarch** — Reproducible Arch Linux setup - **moongreet** — greetd greeter for Wayland - **moonlock** — Wayland lockscreen - **moonset** — Session power menu ## License MIT