# Moongreet

**Name**: Selene (Mondgöttin — passend zu Moon-greet)

## Projekt

Moongreet ist ein greetd-Greeter für Wayland, gebaut mit Python + GTK4 + gtk4-layer-shell.
Teil des Moonarch-Ökosystems.

## Tech-Stack

- Python 3.11+, PyGObject (GTK 4.0)
- gtk4-layer-shell für Wayland Layer Shell
- greetd IPC über Unix Domain Socket (length-prefixed JSON)
- pytest für Tests

## Projektstruktur

- `src/moongreet/` — Quellcode
- `src/moongreet/data/` — Package-Assets (Default-Avatar, Icons) — werden mit dem Wheel ausgeliefert
- `tests/` — pytest Tests
- `data/` — User-Assets (wallpaper.jpg) — nicht Teil des Packages
- `config/` — Beispiel-Konfigurationsdateien für `/etc/moongreet/` und `/etc/greetd/`

## Kommandos

```bash
# Tests ausführen
uv run pytest tests/ -v

# Typ-Checks
uv run pyright src/

# Greeter starten (nur zum Testen, braucht normalerweise greetd)
uv run moongreet
```

## Architektur

- `ipc.py` — greetd Socket-Kommunikation (length-prefixed JSON)
- `users.py` — Benutzer aus /etc/passwd, Avatare, GTK-Themes
- `sessions.py` — Wayland/X11 Sessions aus .desktop Files
- `power.py` — Reboot/Shutdown via loginctl
- `greeter.py` — GTK4 UI (Overlay-Layout)
- `main.py` — Entry Point, GTK App, Layer Shell Setup
