Files
moonset/README.md
T
nevaforget 510d45a9b1
Update PKGBUILD version / update-pkgver (push) Successful in 4s
fix: audit LOW fixes — rejection-path tests, wallpaper-fallback docs (v0.9.1)
- Test AccountsService-icon symlink rejection (users.rs)
- Tests for wallpaper symlink/extension/size rejection (config.rs)
- Fix stale 'bundled package wallpaper' fallback docs (README, example config) — bundled tier removed 2026-03-28, actual chain is two-tier
2026-06-17 13:06:15 +02:00

85 lines
1.8 KiB
Markdown

# 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` → CSS background (no image)
## 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