- Un gestor de ventanas en mosaico de código abierto para macOS, desarrollado con enfoque en el rendimiento y la usabilidad
- Funciona sin desactivar la Protección de Integridad del Sistema (SIP) y es uno de los pocos gestores de ventanas compatibles con la opción de macOS "Displays have separate Spaces"
- Admite varios estilos de diseño similares a i3/sway y bspwm
- Ofrece una integración natural con la experiencia nativa de macOS, como navegación de espacios de trabajo al estilo Mission Control y gestos de trackpad
- Se centra en el rendimiento de las animaciones y la experiencia de usuario, y destaca por la recarga en caliente de la configuración y las funciones de integración con programas externos
- Hereda parte de las ventajas de Aerospace, un gestor de ventanas en mosaico existente para macOS, como el rendimiento y la flexibilidad, pero también apunta a funciones adicionales como soporte para animaciones y la posibilidad de usar solo una pantalla en modo de pantalla completa en configuraciones con múltiples monitores
Funciones principales
- Varios estilos de diseño: permite organizar ventanas en forma de cuadrícula como i3 o sway, o usar el método de partición binaria del espacio al estilo bspwm
- Icono en la barra de menú: muestra visualmente todos los espacios de trabajo y el estado del diseño dentro de cada uno
- Navegación al estilo Mission Control de macOS: facilita la gestión visual del cambio entre espacios de trabajo
- Ofrece cambio automático de foco con el mouse y elevación automática
- Permite intercambiar posiciones al arrastrar ventanas, con animaciones fluidas
- Al usar gestos de trackpad, permite cambiar de espacio de trabajo como en la experiencia nativa de macOS
- Admite cambios de configuración en ejecución (hot reload), lo que facilita mucho la configuración en tiempo real
- Soporta interfaz e integración con programas de terceros como Sketchybar, además de integración mediante CLI o mach port
- Puede enviar señales (Signals) hacia el exterior cuando cambia el espacio de trabajo o hay cambios en las ventanas; las señales se pueden emitir mediante CLI o conexión mach
- Desarrollado 100% en Rust
1 comentarios
Opiniones de Hacker News
Antes usaba muchísimo i3. i3 es increíblemente flexible y permite configurar mucho más que solo mover ventanas. Pero desde que me pasé a Mac, no he encontrado un gestor de ventanas en mosaico que tenga muchas funciones y además sea estable. Probé varias opciones y ahora simplemente uso Rectangle. Rectangle no es realmente un gestor de ventanas; solo ofrece atajos para mover fácilmente las ventanas a la izquierda/derecha/arriba/abajo o a divisiones de 3/4/6. Cubre como el 80% de mi patrón de uso, no requiere configuración personalizada y no tiene comportamientos inesperados, así que lo uso muy a gusto. Supongo que con la edad también cuesta dedicarle tiempo a tantas configuraciones personalizadas. Sitio oficial de Rectangle
En pantallas 5k/6k, el tiling tradicional tiene límites: las ventanas terminan quedando demasiado grandes. Por eso creo que apps como Moom son mucho mejores. En Windows no hay una app como Moom, así que uso un gestor en mosaico como komorebi. Como alguien que va y viene entre varios sistemas operativos y dispositivos, me decepciona que rift no soporte combinaciones de teclas universales como alt+hjkl. En monitores de ultra alta resolución o ultrawide, este tipo de distribución de ventanas me parece indispensable (komorebi sí lo soporta)
Puede que para mucha gente se quede corto, pero para alguien como yo, que en Mac normalmente usa una sola ventana o dos pantallas solo cuando conecta un monitor externo, esta función básica es suficiente Guía oficial de división de ventanas de macOS (no soy un usuario intensivo de tiling)
La razón por la que el modo de pantalla completa y los gestos del trackpad resultan tan atractivos en macOS es que, en la mayoría de los casos, uno trabaja con una sola ventana. Pero cuando necesitas tener abiertas al mismo tiempo terminal, editor, DevTools del navegador, logs y documentación, poder predecir el layout se vuelve muy importante. Las herramientas de tiling no sirven solo para poner dos ventanas lado a lado,
En Mac, yo resuelvo como el 80% con Rectangle o Moom, y para lo demás uso Aerospace o Rift. Cuando aumenta la cantidad de ventanas o la frecuencia con la que cambias entre ellas, la utilidad de un gestor de ventanas en mosaico se vuelve muy clara
En algún momento quise hacer mi propio gestor de ventanas, pero en macOS no hay una API decente para eso, así que abandoné rápido. En la práctica, hay que apañárselas hackeando la API de accesibilidad. Este proyecto también usa bindings de Objective-C y la API de accesibilidad, así que me da curiosidad cómo hicieron el debugging, cómo implementaron funciones y qué herramientas usaron principalmente
Yo también pasé recientemente por una buena sesión de
yak shavingpara dejar Aerospace exactamente a mi gusto. Me pregunto cómo resuelve la gente el tema de tantos atajos que se pisan entre sí. Como ya tengo muy interiorizadas las combinaciones con hjkl, termino queriendo mapear casi todo ahí, y la función modal de Aerospace ayuda un poco a resolver esos conflictos. ¿Cómo lo termina configurando la mayoría?meh(control+alt+shift) yhyper(control+alt+shift+command). Tengocaps lockmapeado para que, si lo mantengo presionado, seameh, y si lo toco rápido, seaesc. Eso me permitió concentrar muchísimos atajos en una sola mano. Por ejemplo,meh+número para cambiar despace, ventana caliente de terminal conmeh+space, y foco de ventanas también conmeh+hjklCon Hammerspoon puedes crear tu propio gestor de ventanas. A mí me gusta el enfoque modal que ofrece Divvy (cambiar layouts con una sola tecla de comando), pero por desgracia ya no recibe mantenimiento. Así que probé crear mi propio gestor de ventanas modal con OpenAI Codex Código fuente del gestor de ventanas para Hammerspoon. ¡Sería divertido compartir este tipo de enfoques!
Si usas el trackpad del MacBook, Swish está por encima de cualquier otra app Sitio oficial de Swish
¿Alguien ha probado configurar esto con
nix flake? Desde yabai he estado probando varios gestores de ventanas, pero con Aerospace a veces noto lag, quizá por un problema en el manejo de eventos, cuando lo uso junto con sketchybar solo para mostrar bonitos indicadores de workspace. Tal vez lo siguiente que pruebe sea esto (rift)nix flakepara riftNo entiendo por qué haría falta un gestor de ventanas en mosaico en macOS. ¿Qué tan seguido hace falta tener ventanas una al lado de la otra? ¿No basta con poner la mayoría de las apps en pantalla completa y cambiar entre ellas con un swipe de 4 dedos? Que alguien me convenza
tailde logs, y dentro de cada app también suelo dividir en múltiples vistas/terminales. En el navegador también comparo páginas lado a lado con frecuenciaSpaces). Cambiar entre apps en pantalla completa me parece demasiado lento, y para llegar a la app que quiero tengo que encadenar varios swipes. No me gusta tener que calcular mentalmente el orden de las apps y cuántas veces debo pasar. Quiero abrir exactamente la app que necesito al instanteSpaces(cambio de escritorio), pero con monitores grandes es más cómodo tener todo visible en una sola pantalla. Yo uso tres monitores de 32 pulgadas (los de los lados en vertical) y casi nunca pongo nada en pantalla completa, salvo el IDE. Dividir la pantalla equivale a tener varias pantallas pequeñas simultáneamente, así que no hace falta buscar en qué escritorio está cada ventana: es más simple y eficiente. Además, cuando Chrome está abierto en variosSpaces, muchas vecescmd-tabno selecciona la ventana que quiero y termino buscándola a mano, lo cual es fastidioso. En cambio, cuando uso solo el laptop, como la pantalla es pequeña, sí gestiono las ventanas más con escritorios virtuales. Puedo cambiar entre Slack, varias ventanas de Chrome, terminal, IDE, Postman, DataGrip y todo lo demás con un solo atajo, sin cambiar toda la pantalla. Es como tener 8 pantallas reales siempre abiertas, lo que maximiza la productividad. Conr-cmdpuedo enfocarme en cada app rapidísimo, y como no tengo que andar recorriendo escritorios virtuales, también es mucho más fácil encontrar todo