Skip to content

leesander1/iSpace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iSpace

iSpace is a macOS menu bar app that creates lightweight app-based workspaces.

It does not create/delete Mission Control Spaces. Instead, it shows or hides running apps based on the selected workspace.

What It Does

  • Shows a menu bar icon with the current workspace symbol and index.
  • Lets you switch between named workspaces from the menu or keyboard shortcuts.
  • Lets you assign running apps to a workspace.
  • Hides apps assigned to other workspaces and unhides apps assigned to the selected workspace.
  • Leaves unassigned apps visible in all workspaces.
  • Saves configuration to ~/.config/ispace/config.json.

Requirements

  • macOS 13.0 or later (per app Info.plist).
  • Accessibility permission (prompted at launch).
  • Apple Events permission may be requested by macOS, depending on fallback visibility control paths.

Build

cd iSpace
swift build -c release

Binary output:

.build/release/iSpace

Run

Run directly:

.build/release/iSpace

Or package as a simple app bundle:

mkdir -p iSpace.app/Contents/MacOS iSpace.app/Contents/Resources
cp .build/release/iSpace iSpace.app/Contents/MacOS/iSpace
cp Sources/Info.plist iSpace.app/Contents/Info.plist
chmod +x iSpace.app/Contents/MacOS/iSpace
open iSpace.app

Note: the existing build.sh script still references the old SpaceCleaner name and is not aligned with the current binary target.

Default Workspaces

On first launch, iSpace creates a default config with these workspaces:

  • Main
  • Code
  • Communication
  • Browse
  • Creative
  • Productivity

Each workspace has a color, icon, and a default app-name allowlist.

Menu Actions

  • WORKSPACES: select active workspace.
  • Assign Apps: map running apps to a workspace, or unassign them.
  • New Workspace...: create a workspace.
  • Delete Workspace: remove any workspace except the first one.
  • Edit Config File...: open config.json.
  • Open Config Folder: open ~/.config/ispace/.
  • Reload Config: reload config from disk.
  • Reset to Defaults...: replace in-memory workspaces with defaults and switch to workspace 1.
  • Pause iSpace / Resume iSpace: disable/enable workspace visibility switching.
  • Quit iSpace: unhides hidden apps, then exits.

Keyboard Shortcuts

  • Ctrl+1 ... Ctrl+9: switch to workspace index 1-9.
  • Ctrl+Option+Left: previous workspace.
  • Ctrl+Option+Right: next workspace.
  • Ctrl+Option+D: pause/resume iSpace.

Configuration

Config file location:

~/.config/ispace/config.json

Template file written on first run:

~/.config/ispace/config.template.json

Current schema:

{
	"version": 1,
	"currentWorkspaceIndex": 0,
	"workspaces": [
		{
			"name": "Main",
			"appNames": [],
			"color": "blue",
			"icon": "house.fill"
		}
	]
}

Supported color values:

  • blue
  • indigo
  • purple
  • pink
  • red
  • orange
  • yellow
  • green
  • mint
  • teal
  • cyan

icon uses an SF Symbols name.

Behavior Notes

  • Switching workspaces only affects currently running regular apps.
  • iSpace itself is never hidden.
  • When paused, all hidden apps are unhidden.
  • App assignment is by localized app name string.
  • An app can only be assigned to one workspace at a time from the UI flow.

Troubleshooting

iSpace cannot control app visibility

  • Ensure Accessibility is enabled for iSpace in System Settings > Privacy & Security > Accessibility.
  • If prompted, allow automation/Apple Events access for System Events.

App assignments seem ignored

  • Confirm the app is currently running (assignment menu only lists running regular apps).
  • Check for exact app name matching in config.json.
  • Use Reload Config after manual edits.

Apps stay hidden after testing

  • Use Resume iSpace or Quit iSpace (quit explicitly unhides apps first).

License

No license is currently declared in this repository.

About

native macos window manager

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors