# tanin-greet

TANINUX's custom **GTK4 greeter** for greetd. Built because ReGreet's layout is
fixed — this gives full control to match the design:

- a **black top bar** like the eww topbar (`TANINUX` · clock · power)
- a **wallpaper** background under a dark scrim
- **user + password** centered as pills (Fuji violet focus ring, Enter submits)
- the **session selector** tucked tiny in the **bottom-right corner**

It speaks the greetd IPC directly (create_session → auth → start_session) and is
hosted by `cage`.

## Files
- `tanin-greet`      → `/usr/bin/tanin-greet` — the GTK4 app (PyGObject)
- `tanin-greet.css`  → `/etc/greetd/tanin-greet.css` — the look (mirrors `eww.scss`)
- `config.toml`      → `/etc/greetd/config.toml` — greetd; `cage -s -- tanin-greet`
- `dev/`             → preview helper + greetd mock (not packaged)

## Preview (no logout, no real auth)
```sh
./dev/preview.sh                 # uses your current wallpaper path
./dev/preview.sh /path/to/wall.jpg
# screenshot lands at /tmp/tanin-greet.png ; override output with GREET_OUTPUT=HDMI-A-1
```
The greeter renders even without greetd; `dev/mockgreetd.py` provides a fake
socket so the password prompt and login flow work for a full dry-run.

## Env overrides (used by the preview)
- `TANIN_GREET_CSS`       stylesheet path (default `/etc/greetd/tanin-greet.css`)
- `TANIN_GREET_BG`        wallpaper path  (default `/usr/share/backgrounds/tanin/login.jpg`)
- `TANIN_GREET_SESSIONS`  sessions dir    (default `/usr/share/wayland-sessions`)
- `TANIN_GREET_BRAND`     top-bar text    (default `TANINUX`)

## Install (on the distro)
```sh
makepkg -si
sudo systemctl enable greetd     # disable any other DM first
```
Drop a login wallpaper at `/usr/share/backgrounds/tanin/login.jpg` (or ship a
`tanin-backgrounds` package). Without one, the greeter shows a dark scrim.

## Notes
- Sessions are read from `/usr/share/wayland-sessions/*.desktop`; Niri is the
  default selection. Users are read from `/etc/passwd` (uid 1000–65533, real shell).
- Icons (`avatar-default-symbolic`, `system-shutdown-symbolic`) come from
  `adwaita-icon-theme`.
