1# mirada
2
3> A sovereign Wayland compositor + tiling window manager, in Rust, on [Llimphi](https://github.com/tawasuyu/llimphi).
4
5`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:
6
7- **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.
8- **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`.
9
10All UI (greeter, portal dialogs, menus) renders on Llimphi-HAL, so the same scene tree runs on Wayland and on Wawa bare-metal.
11
12<p align="center">
13 <img src="docs/mirada_showreel.gif" alt="mirada showreel — one desktop layout morphing across Windows XP, macOS, KDE, Hyprland and CDE looks" width="900">
14 <br>
15 <sub>one compositor, every desktop — the same layout across XP · macOS · KDE · Hyprland · CDE <em>(stylized concept render, not a live capture)</em></sub>
16</p>
17
18## Run
19
20```sh
21cargo run --release -p mirada-compositor # the compositor (nested in a host Wayland for dev)
22cargo run --release -p mirada-greeter # PAM login greeter (real backend + mock)
23cargo run --release -p mirada-ctl -- ... # control the running compositor (swaymsg/hyprctl style)
24```
25
26DRM/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.
27
28## Features
29
30- **Tiling WM** (Hyprland-like): directional navigation, multi-monitor, workspace move/swap-master, configurable borders, hot-reload of `config.ron`.
31- **Multi-monitor, multi-DPI**: per-output wallpaper / order / scale / fit; logical layout across mixed 1×/2× outputs; hotplug.
32- **Openbox-style root menu** with nested submenus; autohide bottom bar.
33- **Greeter MVP**: remembers last user/desktop, `↑`/`↓` switch desktops, configurable *Matrix*-rain background, real PAM backend + mock.
34- **Robust VT switching** (`Ctrl+Alt+F1…F12`) with libseat pause/resume, keymap-independent.
35- **Complete XDG portal**: any app gets file pickers via the portal with no app-specific code.
36
37## Scope of this repository
38
39This 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.
40
41## Caveats (honest state)
42
43- **Not a `sway`/`weston` replacement in stability** — yet. It replaces them in *Llimphi-HAL compatibility*.
44- DRM/KMS path validated on **Intel** only. NVIDIA proprietary and multi-GPU/Optimus are untested.
45- Production DRM/KMS hardening beyond the MVP is ongoing.
46
47## License
48
49MIT. Builds on [Llimphi](https://gitea.gioser.net/sergio/llimphi) (pulled as a git dependency).
README.md
mirada
A sovereign Wayland compositor + tiling window manager, in Rust, on 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. 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.
<p align="center">
<img src="docs/mirada_showreel.gif" alt="mirada showreel — one desktop layout morphing across Windows XP, macOS, KDE, Hyprland and CDE looks" width="900">
<br>
<sub>one compositor, every desktop — the same layout across XP · macOS · KDE · Hyprland · CDE <em>(stylized concept render, not a live capture)</em></sub>
</p>
Run
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 (pulled as a git dependency).