feat(mirada): nmaster, promover a maestra y smart gaps (estilo dwm)

Tanda de funciones de tiling WM, toda pura (mirada-layout/brain), sin
tocar el protocolo:

- nmaster: LayoutParams.master_count — cuántas ventanas van en el área
  maestra. MasterStack y CenteredMaster apilan N maestras; sin pila, las
  maestras llenan la pantalla. Acciones inc-master/dec-master (Super+,
  Super+.), acotadas 1..9.
- Promover a maestra: Workspace::promote_focused lleva la ventana
  enfocada al puesto 0. Acción promote-to-master (Super+Return).
- Smart gaps: una sola ventana se tesela a sangre, sin margen.

combo_string del compositor canoniza ahora teclas con nombre (Return,
Tab, F5, flechas…) vía xkb::keysym_get_name, no sólo caracteres
imprimibles — sin eso Super+Return no sería un atajo expresable.

Cableado en keymap por defecto, HUD de mirada y mirada-ctl. Verificado
end-to-end con headless-ctl. mirada-layout 26->30, mirada-brain 39->41.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 00:45:47 +00:00
parent 8821d34bd5
commit 2dd8ff139e
11 changed files with 228 additions and 42 deletions
@@ -241,6 +241,8 @@ const KEYMAP_HEADER: &str = "\
// layout:<modo> master-stack | centered-master | spiral
// grid | columns | rows | monocle
// grow-master / shrink-master redimensiona el área maestra
// inc-master / dec-master nº de ventanas maestras (nmaster)
// promote-to-master la enfocada al puesto maestro
// workspace:N activa el escritorio N (1..9)
// send-to-workspace:N manda la enfocada al escritorio N
// quit apaga el compositor