O HyprSpace traz o dwindle layout do Hyprland para macOS. Sem SIP. Sem Xcode. TOML puro. Workspaces virtuais. E uma workspace bar que parece nativa.
Sentes falta do Hyprland quando estás no macOS? Os tiling WMs para Mac existem (yabai, Amethyst, AeroSpace), mas nenhum tinha aquele feel do dwindle layout com a workspace bar à Hyprland. Até agora.
O HyprSpace é um fork pesado do AeroSpace com componentes do Barik. Foi escrito em Swift, funciona no macOS 13.0+, e não precisa de desativar o SIP. A workspace bar é bonita, integra-se no design do macOS, e responde ao rato.
Neste guia vais aprender:
- O que é o HyprSpace e como se diferencia de outros tiling WMs
- Como instalar (3 métodos, incluindo build from source)
- Configuração inicial e primeiros passos
- Todos os keybindings essenciais
- O modo service e comandos avançados
- Config TOML completa
- CLI e multi-monitor
- Dicas para o dia-a-dia
O que é o HyprSpace
HyprSpace é um tiling window manager para macOS. Gestão de janelas por atalhos de teclado, dwindle layout (árvore binária), workspaces virtuais (5 por omissão), e suporte multi-monitor no estilo i3.
Diferente do yabai ou Amethyst, o HyprSpace não usa os Spaces nativos do macOS. Implementa os seus próprios workspaces virtuais. Isto significa que não estás limitado pelo comportamento errático do Mission Control.
A stack é Swift puro, com config em TOML. Cliente/servidor via UNIX socket (/tmp/barut.hyprspace-{user}.sock). A workspace bar é desenhada em SwiftUI e tem suporte total a rato.
Feature highlights
- Dwindle layout — árvore binária, igual ao Hyprland
- Workspace bar bonita — blends in com o macOS, não parece um hack
- Virtual workspaces — sem depender dos Spaces do macOS
- CLI first —
hyprspace list-windows --all,hyprspace focus left, etc. - Man pages e shell completion — porque sim
- Sem SIP disabled — usa só a Accessibility API
- TOML config — dotfiles friendly, sem YAML
Instalação
Há três formas de instalar o HyprSpace.
1. Homebrew (assim que estiver publicado)
2. Download do Release
Descarrega o HyprSpace-vX.X.X.zip da página de releases.
3. Build from Source
Foi esta a via que usei. Funciona bem, demora ~2 minutos.
O build compila 765 ficheiros em ~133 segundos (Swift 6.1.2, CLI tools sem Xcode.app). Os binários ficam em .build/arm64-apple-macosx/debug/. Tens o CLI (hyprspace) e o app bundle (HyprSpaceApp).
Para correr:
Na primeira execução, o macOS pede permissões de Acessibilidade. Vai a System Settings → Privacy & Security → Accessibility e ativa o HyprSpace.
Nota: O build debug usa o ficheiro
~/.hyprspace-debug.tomlem vez de~/.hyprspace.toml.
Primeiros passos
Assim que o HyprSpace está a correr, deves ver a workspace bar no topo do ecrã. São 5 workspaces numeradas, com destaque na activa.
Começa por abrir um terminal: Alt + Enter abre o Ghostty (podes mudar no config).
Depois abre mais algumas janelas e experimenta:
Alt + H/J/K/L— navegação Vim entre janelasAlt + Shift + H/J/K/L— move janela na direcçãoAlt + 1/2/3/4/5— muda de workspaceAlt + Shift + 1/2/3/4/5— manda janela para workspace
As janelas organizam-se automaticamente em dwindle layout. Cada nova janela divide o espaço disponível ao meio, alternando entre horizontal e vertical.
Keybindings Essenciais
| Atalho | Acção |
|---|---|
Alt + Enter |
Abrir terminal (Ghostty) |
Alt + H/J/K/L |
Foco left/down/up/right |
Alt + Shift + H/J/K/L |
Mover janela na direcção |
Alt + 1-5 |
Switch workspace |
Alt + Shift + 1-5 |
Mover janela para workspace |
Alt + Tab / Alt + Shift + Tab |
Último workspace / Mover para próximo monitor |
Alt + - / Alt + = |
Shrink / Grow janela |
Alt + / / Alt + , |
Cycle split / Reset dwindle |
Alt + Q / Alt + Shift + ; |
Quit app / Service mode |
Modifier primário: Alt (⌥). Presets Dvorak/Colemak no config.
Service Mode
Entras com Alt + Shift + ;. A workspace bar muda para indicar que estás em mode de comandos avançados.
| Tecla | Acção |
|---|---|
Esc |
Recarregar config + voltar ao main mode |
R |
Reset/flatten workspace layout |
F |
Toggle floating/tiling |
Backspace |
Fechar todas excepto a actual |
Alt + Shift + H/J/K/L |
Join windows na direcção |
Up / Down / Shift + Down |
Volume up / down / mute |
Dica: Esc recarrega o config sem reiniciar a app. Depois de editares ~/.hyprspace.toml, faz Alt + Shift + ; + Esc.
Configuração TOML
O ficheiro de config fica em ~/.hyprspace.toml (release) ou ~/.hyprspace-debug.toml (debug).
Keybindings no config
Service mode:
Chaves disponíveis: letras (a-z), números (0-9), f1-f20, speciais (minus, equal, period, comma, slash, semicolon, space, enter, esc, tab, arrows). Modifiers: cmd, alt, ctrl, shift.
CLI
hyprspace --help para a lista completa. Também há man page: man hyprspace.
Multi-monitor
Cada monitor pode ter os seus próprios workspaces.
Setup:
- Arranja os monitores em System Settings → Displays (sem overlap)
- Usa
Alt + Shift + Tabpara mover workspace para o próximo monitor - O mouse segue o foco (configurável)
Forçar workspaces a monitores específicos:
Dicas e troubleshooting
Window dragging from anywhere
Depois é Ctrl + Cmd + arrastar.
Keybindings não funcionam
Verifica conflitos com outros atalhos do macOS ou apps.
Windows não fazem tiling
Alt + Shift + ;+Escrecarrega configAlt + Shift + ;+Rfaz reset ao layouthyprspace flatten-workspace-treepela CLI
Permissões de Acessibilidade
System Settings → Privacy & Security → Accessibility. Para debug builds:
App não abre (quarantine)
Conclusão
O HyprSpace ainda está em desenvolvimento activo (pré-1.0), mas já é estável para uso diário. A workspace bar é, de longe, a mais bonita que vi num tiling WM para macOS. O dwindle layout funciona bem, a config TOML é limpa, e o CLI é competente.
Se sentes falta do Hyprland no Mac, testa. O setup é rápido, o build from source é trivial, e o código é Swift aberto (MIT) se quiseres contribuir.
Comentários (0)
Nenhum comentário ainda. Seja o primeiro!
Deixar comentário