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:
@@ -22,7 +22,8 @@
|
||||
//! n abre una ventana tab / espacio cicla layout
|
||||
//! w cierra la enfocada t m g c r d s layout directo
|
||||
//! j / k foco siguiente/anterior h / l área maestra −/+
|
||||
//! Shift+j / k mueve la enfocada 1..9 ir a escritorio
|
||||
//! Shift+j / k mueve la enfocada , / . nmaster −/+
|
||||
//! Enter promueve a maestra 1..9 ir a escritorio
|
||||
//! Ctrl+1..9 enviar a escritorio
|
||||
//! ```
|
||||
//!
|
||||
@@ -291,6 +292,9 @@ impl Mirada {
|
||||
"s" => self.act(DesktopAction::SetLayout(LayoutMode::Spiral)),
|
||||
"h" => self.act(DesktopAction::ShrinkMaster),
|
||||
"l" => self.act(DesktopAction::GrowMaster),
|
||||
"enter" => self.act(DesktopAction::PromoteToMaster),
|
||||
"," => self.act(DesktopAction::IncMaster),
|
||||
"." => self.act(DesktopAction::DecMaster),
|
||||
d if d.len() == 1 && d.as_bytes()[0].is_ascii_digit() && d != "0" => {
|
||||
let n = (d.as_bytes()[0] - b'1') as usize;
|
||||
if ctrl {
|
||||
|
||||
Reference in New Issue
Block a user