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.
This commit is contained in:
2026-03-27 16:09:51 +01:00
parent 9deaaacc33
commit e66ef76b4d
18 changed files with 3002 additions and 33 deletions
+13 -6
View File
@@ -7,7 +7,7 @@ Per Keybind aufrufbares Fullscreen-Overlay mit 5 Aktionen:
## Features
- GTK4 + gtk4-layer-shell (OVERLAY Layer — über Waybar)
- 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
@@ -18,7 +18,14 @@ Per Keybind aufrufbares Fullscreen-Overlay mit 5 Aktionen:
## Installation
```bash
uv pip install .
cargo build --release
install -Dm755 target/release/moonset /usr/bin/moonset
```
Oder via PKGBUILD:
```bash
cd pkg && makepkg -si
```
## Verwendung
@@ -42,16 +49,16 @@ Konfigurationsdatei: `~/.config/moonset/moonset.toml` oder `/etc/moonset/moonset
background_path = "/usr/share/moonarch/wallpaper.jpg"
```
Wallpaper-Fallback: Konfiguration → `/usr/share/moonarch/wallpaper.jpg` → Package-Wallpaper
Wallpaper-Fallback: Konfiguration → `/usr/share/moonarch/wallpaper.jpg` eingebettetes Package-Wallpaper
## Entwicklung
```bash
# Tests
uv run pytest tests/ -v
cargo test
# Type-Check
uv run pyright src/
# Release-Build
cargo build --release
```
## Teil des Moonarch-Ökosystems