Vista previa — este sitio aún no está publicado.
v1.0.0 · SpaceFlow shipped · Apple Silicon · macOS 13+

For people who gave up the trackpad
and miss the gestures.

A growing kit of menu-bar utilities for one specific persona: the macOS user on an ultrawide monitor, with a regular keyboard and mouse, who still wants the fluidity of swipes, pinches and edge gestures. Open source. Free. No tracking. No nonsense.

MITopen source
arm64Apple Silicon
~170 KBtiny zip
0network calls
The problem

You bought the ultrawide. Then it hit you.

macOS is designed around the trackpad. Take the trackpad away and you lose a whole layer of fluidity — the swipes, the pinches, the instinctive context switching. Buying a Magic Trackpad next to the mouse defeats the ergonomic point of the setup. So we built the crutches instead.

You closed the MacBook, plugged in the ultrawide, put a real keyboard and a real mouse on the desk. Setup of dreams — huge canvas, decent posture, no more hunching over the laptop.

Then it sinks in: years of trackpad muscle memory, gone. The things that were instinctive turn into conscious effort. The shortcuts the system gives you in exchange feel like a downgrade — keyboard chords for what used to be a flick of the wrist.

Going back to the trackpad isn’t the answer — it’s the opposite of the reason you switched. The answer is making the mouse do what the trackpad used to. A small menu-bar app, a glassmorphic HUD that lives in every Space, and a handful of gestures you can toggle to taste. That’s SpaceFlow, the first app in this repo.

It’s not a monolith. It’s a kit. Each utility solves one problem, ships as its own app, and can be installed on its own. SpaceFlow handles Spaces. More are coming.

3-finger swipeto switch Space
Ctrl + ←/→wrist-unfriendly
Swipe upto Mission Control
Ctrl + ↑never stuck
Pinch / spreadto zoom apps
not mappedjust gone
SpaceFlow · v1.0.0

Six gestures, one HUD, zero shortcuts to memorize.

Every gesture is independently toggleable in Settings → Gestures. Turn on the two that match your hand and ignore the rest.

01

Floating HUD

Glassmorphic capsule docked at the bottom of every Space, including fullscreen apps. Numbered pills show your Spaces; the active one is highlighted. Click any pill to jump.

always visible
02

Direct HUD Scroll

Hover the HUD, scroll the mouse wheel, switch Space. Most precise, because you can see where you’re going before you commit.

precise
03

Gravity Edge Scroll

Park the cursor against the top edge (menu bar) or bottom edge (Dock) and scroll. Switches Space without aiming at anything. Solves 80% of cases on its own.

minimalist
04

Right-Click + Scroll

Hold right mouse button anywhere on screen and scroll. Switches Space without leaving wherever your cursor happens to be.

anywhere
05

Velocity Shake

Flick the mouse left or right fast and SpaceFlow toggles to the adjacent Space. The closest thing to the old trackpad reflex — your muscle memory learns it in a week.

trackpad-like
06

Double-Option Warp

Tap the Option key twice quickly and the cursor teleports to the HUD. Useful when the HUD is on a different monitor.

keyboard hop
07

Double Middle-Click

Two quick clicks on the scroll wheel button trigger Mission Control. Equivalent to Ctrl + ↑ without leaving the mouse.

mission control
08

Menu-bar indicator

A discreet ⎋ N glyph in the status bar tells you which Space is active, in case the HUD is collapsed and you lost track.

status bar
09

Optimistic listener

SpaceFlow listens for Ctrl+←/→ and Ctrl+1..0 and updates the HUD before macOS finishes the transition. Zero flicker, even when you use the system shortcut.

no flicker
Install

Four steps. About a minute.

Apple Silicon, macOS 13 Ventura or newer. Pre-built binary on GitHub Releases. If you’d rather compile it yourself, the build is a single shell script — see the README.

1

Download

Grab the latest .zip from GitHub Releases.

2

Drag to Applications

Unzip and drop SpaceFlow.app into /Applications.

3

First open

The app is ad-hoc signed, so Gatekeeper will protest. Right-click Open, then confirm.

4

Grant Accessibility

System Settings → Privacy & Security → Accessibility → enable SpaceFlow. Required to read mouse events.

Heads-up — no Apple Developer ID yet. Builds are ad-hoc signed, which means macOS may re-prompt for Accessibility after some updates. If you build from source, the repo ships setup_certs.sh— a one-time keychain certificate that keeps the permission sticky across rebuilds. Proper code signing is on the roadmap.
Under the hood

Pure Swift, no Electron, no telemetry.

SpaceFlow is a 170 KB Swift app — no bundled runtime, no analytics pings, no network code at all. You can audit the whole thing in an afternoon.

src/
├── main.swift                    // bootstrap NSApplication + status bar
├── Core/
│   ├── SpaceEngine.swift         // state of Spaces + UserDefaults
│   ├── GestureMonitor.swift      // NSEvent global monitor
│   ├── SpaceAutomator.swift      // create/remove Spaces
│   ├── HotZoneState.swift        // edge-zone hover state
│   └── FloatingBarState.swift    // HUD expand/collapse
└── UI/
    ├── FloatingBarWindow.swift   // borderless NSWindow, all Spaces
    ├── FloatingBarView.swift     // SwiftUI glass capsule
    ├── HotZoneWindows.swift      // invisible edge detectors
    ├── SettingsView.swift        // Gestures / Appearance / Physics
    └── PermissionView.swift      // Accessibility wizard
              
  • CGSUses _CGSDefaultConnection() — a private CoreGraphics API — because the public API doesn’t expose per-display Space lists.
  • WindowHUD window: canJoinAllSpaces + fullScreenAuxiliary so it appears over fullscreen apps without stealing focus.
  • FocuscanBecomeKey = false: clicks on the HUD work but your IDE stays focused.
  • Hit-testCustom hit-testing restricts clicks to a central 500×75 px area — the rest of the capsule passes clicks through to what’s underneath.
  • Race-freeOptimistic keyboard listener updates the HUD before macOS finishes the Space transition — no visual lag when you use Ctrl+←/→.
  • PrivacyReads mouse events and modifier keys only. Zero network code in the project. Audit it yourself — the source tree above is the whole thing.
Roadmap

Same persona, more crutches coming.

The repo is meant to grow into a kit. Ideas live as drafts until they’re built — no promises on dates, only on the persona. Got a gesture you miss? Open an issue.

Shipped

SpaceFlow

Switching Spaces without a trackpad — six gestures, glass HUD, menu-bar indicator. Available above.

Drafted

WindowSnap

Snap windows into halves, thirds and quarters on an ultrawide screen with mouse gestures — no Rectangle/Magnet shortcut soup.

Drafted

AppCycler

Cycle between windows of the same app more fluidly than ⌘+`. Aimed at IDE + browser users who keep five Chromes open.

Drafted

EdgeLaunch

Beefed-up hot corners that trigger arbitrary actions — apps, shortcuts, AppleScripts — not just Mission Control.

Drafted

CursorFlow

Cursor wrap between opposite edges of an ultrawide. Jump from the rightmost edge to the leftmost without crossing the whole desktop.

You?

Suggest one

If the persona fits — macOS, ultrawide, regular mouse — open an issue and let’s see if it belongs in the kit.

FAQ

Quick answers, no surprises.

Intel Macs?

Apple Silicon only for now. Builds are arm64; in theory the build script compiles fine on Intel hardware, but the official release is arm64-only and untested elsewhere.

Multiple monitors?

Works. The HUD appears in every Space on every monitor. macOS treats Spaces as a per-monitor concept by default — that setting lives in System Settings → Desktop & Dock → Monitors have separate Spaces.

Battery / CPU?

Negligible. The whole thing is event-driven — no polling, no background loops. Sits idle until you scroll or move the mouse.

Why does the screen flash sometimes?

macOS limitation, not the app. If you switch Spaces too fast, the system can’t animate the transition. The Physics tab in Settings has a switchCooldown slider to throttle rapid switches.

What does the app see?

Accessibility permission is wide, but SpaceFlow only reads mouse events (scroll, click, position) and modifier keys (Ctrl, Option). It does not log content. It does not phone home — the project has zero network code. Audit the source.

License?

MIT. Use it, fork it, repackage it. A credit is appreciated if it ends up inside something commercial.

Give your mouse its trackpad muscle memory back.

A 170 KB download, open source, no account, no tracking. Install it in a minute. Toggle the one gesture that fits your hand. Forget it’s there until the next time you go back to a stock Mac and realize how much you got used to it.