10b88a67bc
- app: GTK System Settings (tsettings) + Software Hub (thub) + TUI - distro/: camel.toml manifest + MANIFEST.md (Arch + [tanin] repo model) - packaging/: taninux, tanin-desktop (niri metapackage), tanin-greet, tanin-libadwaita, tanin-setup - docs/, data/, LICENSE (GPL-3.0-or-later) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# 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`.
|