feat(mirada): reglas de ventana — escritorio y flotante por app_id

mirada-brain::rules — config declarativa que decide qué hacer con una
ventana al abrirse, mismo patrón que el keymap.

- Rule casa por subcadena de app_id y/o title (sin distinguir
  mayúsculas; vacío = cualquiera) y aplica un destino: workspace (1..9)
  y/o floating. Gana la primera regla que case.
- Rules en RON (~/.config/mirada/rules.ron); la primera vez se escribe
  una plantilla con ejemplos comentados, si está corrupta se ignora.
- Desktop consulta Rules::resolve en cada WindowOpened — el evento ya
  trae app_id/title — y abre la ventana en su escritorio, flotando si
  toca. set_rules en Desktop; las apps cargan rules.ron al arrancar.

mirada-brain 42->51 tests.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 01:01:14 +00:00
parent 4719f7c9f9
commit 6dfd9e62ac
7 changed files with 311 additions and 8 deletions
+9
View File
@@ -1056,5 +1056,14 @@
Reglas de ventana — mirada-brain::rules:
Config declarativa en RON (~/.config/mirada/rules.ron); el Desktop la consulta en cada
WindowOpened y manda la ventana a su escritorio / la hace flotar.
Cada regla casa por subcadena de app_id y/o title (sin mayúsculas); gana la primera.
Ejemplo: (app_id: "firefox", workspace: 2) · (title: "Picture-in-Picture", floating: true)
La primera vez se escribe una plantilla con ejemplos comentados.