Show HN: FlashSpace – fast, open-source, macOS Spaces replacement
I've recently launched a new open-source project aimed at enhancing the experience of switching between Spaces/workspaces on macOS. The built-in Spaces feature is often slow and unfriendly. This project is designed to boost your productivity :). Enjoy!
225 points by wojciech-kulik - 90 comments
1. Does FlashSpace require disabling SIP?
2. Aerospace documents the limitations of macOS spaces [1]. How does FlashSpace deal with these limitations?
3. Do you have any plans to support file-based configuration? I like syncing my dotfiles between multiple computers.
[1]: https://nikitabobko.github.io/AeroSpace/guide#emulation-of-v...
2. Aerospace has significant performance issues with workspaces. The problem has persisted for over a year, and there are no plans to fix it. That's why I started building FlashSpace - to make it blazingly fast. Which limitation is especially interesting to you? FlashSpace addresses the animation lag, the number of workspaces is unlimited, and you can move apps between workspaces with hot keys.
3. FlashSpace already supports JSON config files which are stored by default in ~/.config/flashspace, so you can easily sync them.
I really like how FlashSpace plays well with macOS native tabs. One follow-up question I had is how you manage your windows? FlashSpace not managing windows on one hand is really nice for floating windows (e.g., mpv), but in your examples you have all the windows already set up with some gaps around each. Is all that set-up done by dragging windows around with your mouse? I use an accordion layout heavily, and I don't see how I can make it work with FlashSpace.
My biggest problem with Spaces is that it never remembers which space anything is in. When I reboot, everything is in the wrong space and has to be moved around.
Also noteworthy: assign to all desktops. I use this to keep my browser and messaging apps in all spaces.
I have collections of tabs in different windows and I assign those windows to different spaces. Every time I reboot Chrome all windows are assigned to whichever space is active when I launch Chrome.
I seem to recall that Chrome used to remember these assignments, so maybe it's not a macOS problem, but rather a Chrome problem...?
Also, assigned apps are not how I work: I don't assign a task per space, I assign a project per space, so within many spaces I'll have browser, editor, notes, ... a window of each in each space.
FlashSpace is not interruptive - it doesn't actively try restoring your workspace, so there shouldn't be any "fight" between a tiling manager and FlashSpace.
In any case, I'm very excited to try FlashSpace after reluctantly giving up on Spaces! And thank you for linking to SketchyBar as well — it's always great to learn about new, well-regarded power-user utilities.
AeroSpace does indeed suffer from a performance issue but this appears to be inherent to the available macOS APIs: https://github.com/nikitabobko/AeroSpace/issues/131
The way you reproduce it is open Factorio.app and quickly switch between workspaces while the game is loading.
FlashSpace seems to suffer from this problem as well based on a quick test.
With regards to configuration, I think it's cumbersome to configure shortcuts per workspace. In AeroSpace, every letter and number on the keyboard is automatically a workspace and shortcuts are global.
All that said, this is a fantastic tool and I would prefer a tool like this that addresses the pain of macOS workspaces as its primary goal rather than being part of a tiling window manager.
EDIT: After more testing it appears that FlashSpace does not support having different windows of the same app on different workspaces, this is a dealbreaker for my workflow :(
Btw. I had the same adventure with Aerospace, I disabled whole tiling just to have workspaces, but they become unusable because anything going on on the computer could cause lag like 5 seconds between switching workspaces. And as a developer I often build apps and switch between workapaces.
What is the purpose of the dock? It does not tell you what apps have windows visible, preview these windows or inform you where these windows are. Absolute waste of screen real estate.
And to add to the injury they seized another 10% of the horizontal space for the even more useless stage manager.
I’m not sure if it’s a coping mechanism for using Linux desktops or not, but it does avoid a few issues.
It also makes window management simpler in the sense I can just sprawl them out and still see everything. Kind of like moving your project from a small desk to a big kitchen table.
I tend to have two workspaces. One for what I’m doing. One for background stuff, like mail and music.
It’s an app launcher. Since I only open app with Spotlight/Alfred, my dock auto hides and doesn’t waste any real estate.
The stage manager in my opinion should have been iPad only. But if you ignore the button in the control center it’s easy to forget that it even exists.
Couldn't go back.
I’m sorry, but this is false. The default/conventional behaviour is for apps to keep running even if all their windows are closed.
There’s actually a toggle for this behaviour on the app delegate.[0]
You may be thinking about LSUIElement, which is loosely related, but doesn’t mandate that windowless apps must quit. [1]
0: https://developer.apple.com/documentation/appkit/nsapplicati...
1: https://developer.apple.com/documentation/bundleresources/in...
What is the point of having for example Word or Safari running without a window? If they want to run a background task that requires some user interaction (eg outlook checking email and calendar), the menubar is the perfect place for it.
In the past the argument was that people want their apps warm started so that they open faster. But this is a moot point in 2025 with SSDs of pulling 5gb/s and tons of ram that allow for ample intelligent caching.
This is the simplest caching scenario I can think of.
Auto-hide. First thing I turn on when I do a fresh install.
Some keep it as an app launcher and quick switcher. I prefer to only open it when necessary.
Not a problem with any other monitor I’ve used.
It’s the monitor taking a long time to wake up.
Window management is “meh” but I don’t care. I use virtual desktops and the desktop Apple magic touchpad. Good enough.
What I want more than anything is just a terminal flag to turn off the dumb animations on the built-in Spaces.
You can turn on "Reduce Motion" to change it from a slide to a fast cross-fade.
That is just an illusion. Time is the same. Instead, you need to add abstraction on top of CMD + Left/Right keybinds to get fast movement between spaces, for example.
The biggest complaint I have, is why doesn't alt-tab work smarter? Here's an example of using alt-tab and window management differently: https://justinnoel.dev/2020/12/22/macplus-software-demo-of-c...
I tried getting used to the "macOS way", but this is just better.
- It's free to use
- You can request new features, and there is a good chance that they'll be implemented
- There is no tracking = full privacy
- You can add features on your own if you know the platform
- If you learn Swift programming, you can check out the project and learn something from it
- If you are willing to become a contributor, you can join