Files
2026-06-16 22:47:12 +00:00

50 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.
<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 &nbsp;<em>(stylized concept render, not a live capture)</em></sub>
</p>
## 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).