feat(mirada): mirada-launcher — lanzador de aplicaciones
Un escritorio en «modo launcher» necesita un lanzador. `mirada-launcher` es una app nueva, sin dependencias: escanea los `.desktop` del estándar XDG y lanza el que elijas desde una lista de terminal que se filtra escribiendo. - Recorre los directorios `applications/` de XDG en orden de prioridad (el del usuario tapa a los del sistema, dedup por id de archivo), parsea el grupo `[Desktop Entry]` (salta `NoDisplay`/`Hidden`, exige `Type=Application`), y limpia los códigos de campo del `Exec`. - Interfaz de terminal sin raer modo: número = lanzar, texto = filtrar (si deja una sola, la lanza), Enter vacío = salir. Las apps con `Terminal=true` se envuelven en `foot -e`. - Pensado para abrirse en una terminal pequeña; al lanzar termina y el programa queda corriendo, reparentado a init. El keymap por defecto ata `Super+p` a `spawn:foot -e mirada-launcher` (`Super+d` ya era el layout CenteredMaster). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -147,6 +147,10 @@ que un front-end (`Keybind` → `lookup` → `apply`); hay otros tres:
|
||||
produce un `BrainCommand::Spawn`; el Cuerpo lo ejecuta con `sh -c`, y
|
||||
el hijo hereda `WAYLAND_DISPLAY`. `DesktopAction` deja de ser `Copy`
|
||||
por llevar el comando.
|
||||
- **Lanzador de aplicaciones** — `mirada-launcher` (app aparte, sin
|
||||
dependencias): escanea los `.desktop` XDG y lanza el elegido desde una
|
||||
lista de terminal que se filtra escribiendo. El keymap ata `Super+p` a
|
||||
`spawn:foot -e mirada-launcher`.
|
||||
- **HUD interactivo** (app `mirada`) — los pips de escritorio y las
|
||||
ventanas del lienzo son clicables: clic = `apply` de la acción.
|
||||
- **`mirada-ctl`** — control externo por línea de comandos
|
||||
|
||||
@@ -231,6 +231,7 @@ pub fn default_keymap() -> Vec<(String, DesktopAction)> {
|
||||
("Super+o".into(), DesktopAction::FocusOutputNext),
|
||||
("Super+Return".into(), DesktopAction::PromoteToMaster),
|
||||
("Super+Shift+Return".into(), DesktopAction::Spawn("foot".into())),
|
||||
("Super+p".into(), DesktopAction::Spawn("foot -e mirada-launcher".into())),
|
||||
("Super+,".into(), DesktopAction::IncMaster),
|
||||
("Super+.".into(), DesktopAction::DecMaster),
|
||||
("Super+Shift+e".into(), DesktopAction::Quit),
|
||||
|
||||
Reference in New Issue
Block a user