# mirada
> A sovereign Wayland compositor + tiling window manager, in Rust, on [Llimphi](https://github.com/tawasuyu/llimphi).
`mirada` (Spanish *look, gaze*) is the display stack: a tiling Wayland compositor, an XDG desktop portal (generic file pickers / screenshare), a PAM login greeter, and the control CLI. The architecture splits cleanly in two:
- **Cuerpo** (`mirada-body` + `mirada-compositor`) — the Wayland surface over [`smithay`](https://github.com/Smithay/smithay). Manages outputs and surfaces, translates commands into backend operations. DRM/KMS native, or nested inside a host Wayland for development.
- **Cerebro** (`mirada-brain`) — the desktop orchestrator: virtual desktops, windows, focus, tiling. Consumes `BodyEvent`, emits `BrainCommand`. **Agnostic of smithay and of any toolkit** — it can drive a remote Cuerpo over `mirada-link`.
All UI (greeter, portal dialogs, menus) renders on Llimphi-HAL, so the same scene tree runs on Wayland and on Wawa bare-metal.
one compositor, every desktop — the same layout across XP · macOS · KDE · Hyprland · CDE (stylized concept render, not a live capture)
## Run
```sh
cargo run --release -p mirada-compositor # the compositor (nested in a host Wayland for dev)
cargo run --release -p mirada-greeter # PAM login greeter (real backend + mock)
cargo run --release -p mirada-ctl -- ... # control the running compositor (swaymsg/hyprctl style)
```
DRM/KMS needs seat permissions — launch from a greeter/seat, not a plain user terminal. Nested mode (inside an existing Wayland session) is the friendly dev path.
## Features
- **Tiling WM** (Hyprland-like): directional navigation, multi-monitor, workspace move/swap-master, configurable borders, hot-reload of `config.ron`.
- **Multi-monitor, multi-DPI**: per-output wallpaper / order / scale / fit; logical layout across mixed 1×/2× outputs; hotplug.
- **Openbox-style root menu** with nested submenus; autohide bottom bar.
- **Greeter MVP**: remembers last user/desktop, `↑`/`↓` switch desktops, configurable *Matrix*-rain background, real PAM backend + mock.
- **Robust VT switching** (`Ctrl+Alt+F1…F12`) with libseat pause/resume, keymap-independent.
- **Complete XDG portal**: any app gets file pickers via the portal with no app-specific code.
## Scope of this repository
This is the **lean** build of mirada — the compositor, WM, greeter, portal and CLI. The AI desktop assistant (`mirada-asistente`, which pulls an LLM stack) and the experimental WebAssembly status bar (`mirada-bar-web`) are **not** included here; the compositor does not depend on them.
## Caveats (honest state)
- **Not a `sway`/`weston` replacement in stability** — yet. It replaces them in *Llimphi-HAL compatibility*.
- DRM/KMS path validated on **Intel** only. NVIDIA proprietary and multi-GPU/Optimus are untested.
- Production DRM/KMS hardening beyond the MVP is ongoing.
## License
MIT. Builds on [Llimphi](https://gitea.tawasuyu.net/sergio/llimphi) (pulled as a git dependency).