db.

BaneySpaces documentation

BaneySpaces documentation

Install BaneySpaces on a Mac, grant its one permission, choose shortcut keys, use the overview, script it with URLs, and uninstall it.

Version 0.2.2macOS 13 Ventura or later, Apple silicon and Intel

Install

Requires macOS 13 Ventura or later on Apple silicon or Intel. In Terminal:

Terminal
curl -fsSL https://raw.githubusercontent.com/baney75/baneyspaces/main/install.sh | bash

The installer builds BaneySpaces from source with Apple's free command line tools and copies it to ~/Applications. If the tools are missing, macOS offers to install them; run the command again when it finishes. Because it is built on your Mac, there is no "unidentified developer" warning.

To build it yourself:

Terminal
git clone https://github.com/baney75/baneyspaces.git
cd baneyspaces
make install

Set up

A setup window opens on first launch. Each step checks itself off as soon as it's done:

  1. Let BaneySpaces arrange windows. macOS asks before any app can show and hide other apps' windows. The button opens System Settings › Privacy & Security › Accessibility.
  2. Pick your keys. ⌘ is the default. Choose ⌃, ⌥ or ⌃ ⌥ to keep ⌘1–⌘9 for your browser and editor. If macOS already uses the keys, Free Them turns those macOS shortcuts off.
  3. See every workspace at once. Choose whether the Mission Control key and Control–Up Arrow open the overview.
  4. Keep one macOS desktop, so no window is out of reach.
  5. Start with your Mac.

Open setup again from the menu bar icon, or by opening BaneySpaces from Finder or Spotlight.

Shortcuts

KeysWhat happens
⌘1 – ⌘9Go to that workspace
⌘ Shift 1 – ⌘ Shift 9Send the front window there and follow it
Mission Control key or Control–Up ArrowShow all nine workspaces
Click a window in the overviewGo straight to it
Drag a window in the overviewMove it to another workspace
Esc in the overviewReturn to where you were

Scripting

Terminal
open baneyspaces://switch/2     # go to workspace 2
open baneyspaces://move/5       # send the front window to workspace 5
open baneyspaces://restore      # bring every window back onto workspace 1
open baneyspaces://viewer       # show or hide the overview

~/Library/Application Support/BaneySpaces/state.json holds the current workspace and the apps on each one.

The Deck and agents

KeysWhat happens
⌃⌘BShow or hide the Deck
⌃⌘KJump to any terminal, tab or agent
⌃⌘UGo to the agent that just finished
⌃⌘[ and ⌃⌘]Back and forward through the rows you've visited
Terminal
baneyspaces hooks install       # Claude Code and Grok sessions report to the Deck
baneyspaces skill install       # teach Claude Code to use baneyspaces
baneyspaces ls                  # every row: terminals, tabs, agents, phones
baneyspaces agent on 9          # workspace 9 becomes the agent workspace
baneyspaces agent run --dir ~/code/app -- npm test   # run a command there
baneyspaces agent open TextEdit ~/notes.txt          # open a file there
baneyspaces phone ls            # connected Android phones and iPhones
baneyspaces doctor              # what's set up and what isn't

The agent workspace's apps are parked out of sight instead of hidden, so Cua and other automation can click and type in them from behind. Nothing that happens there switches you to it.

baneyspaces remote on lets another Mac on your Tailscale network send work to this one's agent workspace with a token from baneyspaces remote token. It's off by default, and a remote caller can only list rows and start agent work.

Uninstall

Terminal
curl -fsSL https://raw.githubusercontent.com/baney75/baneyspaces/main/uninstall.sh | bash

It quits BaneySpaces, which brings every window back, then removes the app and its settings.

Something unclear or out of date? Open an issue on GitHub.