AeroSpace
spin2win
AeroSpace | spin2win | |
---|---|---|
6 | 2 | |
1,333 | 25 | |
- | - | |
9.8 | 10.0 | |
5 days ago | almost 3 years ago | |
Swift | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
AeroSpace
- AeroSpace: An i3-like tiling window manager for macOS
- AeroSpace – i3-like tiling window manager for macOS
- AeroSpace – an i3-like tiling window manager for macOS
-
Yabai – A tiling window manager for macOS
> I'd be more than willing to try another tiling window manager on Mac if there's one out there that truly works
Hello, AeroSpace author speaking :)
I'd be happy if you could try AeroSpace (it's and i3-like window manager for macOS) and report me back if it loses track of windows.
https://github.com/nikitabobko/AeroSpace
The architecture of AeroSpace is that on every user input that may change window configuration (new window created, window moved, window resized, new app launched, etc), AeroSpace runs the same idempotent operation (I call it "refresh session") that tries to detect new window, checks all invariants, re-layouts windows, etc.
The "refresh session" performs all the mentioned steps regardless of the user input nature (it doesn't matter whether the window is moved, or a new app is launched)
I believe that this architecture may lose windows only if the macOS API returns invalid data.
I have been using AeroSpace for quite a while myself and I'm happy with it
spin2win
-
Yabai – A tiling window manager for macOS
Have you heard of Phoenix [1]? It seems relatively unknown but I actually found it to work better than Yabai in some ways. The gist is that it basically simulates a tiling wm and virtual desktops by internally tracking state. It's also highly hackable/extensible being written in JS. Spin2Win [2] is a config that's worked well for me.
[1] https://github.com/kasper/phoenix
[2] https://github.com/nik3daz/spin2win
That said, it seems there are no perfect solutions. At work where I can't really be futzing around with window management config I basically just use Raycast + hotkeys and try to keep everything inside maximized application windows. This means using Arc browser (tabbed), iTerm (tabbed), VS Code (with native tabs), etc mapped to cmd+1, cmd+2, cmd+3...Not much "tiling" going on but at least everything is pretty keyboard friendly.
-
Hyprland, a dynamic tiling Wayland compositor that doesn't sacrifice on looks
Actually, if you're interested at all, I just, after literally months of reading about this, found a pretty sick solution.
Have you ever heard of Phoenix? https://github.com/kasper/phoenix/. Despite googling around for this exact topic, with 3.8k stars I had never heard of it. Apparently someone has created slim, JS scriptable interface that is basically tailor made toward creating your own tiling WM. I just installed it and loaded one of the examples: https://github.com/nik3daz/spin2win. And what it does is basically ignores the built-in spaces and creates truly virtual desktops by just hiding and resizing windows. And it works pretty well. The response time between switching "desktops" is basically instant.
What are some alternatives?
yabai - A tiling window manager for macOS based on binary space partitioning
phoenix - A lightweight macOS window and app manager scriptable with JavaScript
alt-tab-macos - Windows alt-tab on macOS
ShiftIt - Managing windows size and position in OSX
PaperWM - Tiled scrollable window management for Gnome Shell
Hyprland - Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
MiguruWM - A tiling window manager for Windows
Amethyst - Automatic tiling window manager for macOS à la xmonad.
cardboard
skhd - Simple hotkey daemon for macOS