Spaceman is an application for macOS that allows you to view your Spaces (Virtual Desktops) in the menu bar. Spaceman allows you to see which space you are currently on (or spaces if you are using multiple displays) relative to the other spaces you have. Naming these spaces is also an option in order to organise separate spaces for your workflow.
Also, the menu and menu bar icons enable switching between spaces.
Spaceman requires macOS 11 Big Sur or greater.
For switching spaces, Spaceman requires Accessibility and Automation permissions (see below).
Go to the releases tab and download Spaceman.dmg from the latest release.
Double-click the dmg file and drag Spaceman.app to the Applications folder.
$ brew install --cask ruittenb/tap/spacemanWhen launching Spaceman, you may run into this message. Open the System Settings β Privacy & Security and click "Open Anyway".
Spaceman displays your spaces as icons in the menu bar. The image above shows examples of the five different icon styles available.
The meaning of the icons from left to right in the example:
- Active Space: The space you're currently on (highlighted)
- Inactive Space: Regular spaces you can switch to
- Inactive Fullscreen App: A space with a fullscreen application
- Gap: Indicates that the following spaces are on a different display
- Inactive Space: Another regular space on the second display
- Active Fullscreen App: Current space with a fullscreen application
From top to bottom, you can see examples of the five different icon styles:
- Rectangles: Plain rectangles
- Numbers: Plain numbers
- Rectangles with Numbers: Numbers in a rectangle
- Names: Custom text labels for each space
- Names with Numbers: Combined custom names and numbers
Spaceman's preferences are organized into two main tabs: General and Spaces.
General
- Launch Spaceman at login: Automatically start Spaceman when you log in to macOS
- Refresh spaces in background: Enables refreshing space information automatically, at regular intervals
- Shortcut for manual refresh: Defines a shortcut key to trigger an update of the space information
- Shortcut to open preferences window: Defines a shortcut key to open the preferences window. The preferences window can be closed with βW
- Layout: Adjusts icon and font sizes for the menu bar
- Dual Row fill order: When using Dual Row layout, choose whether to fill rows first or columns first:
Displays
- Restart space numbering by display: For each display, Space numbering starts at 1, instead of using continuous numbering
- When displays are side by side: Use macOS display order or reverse it
- When displays are stacked: macOS standard is to sort displays by the X coordinate of their center. This option enables sorting by Y coordinate
- Open System Settings β Displays: Opens the System Settings panel for Displays. Click [Arrange] to adjust the arrangement of the displays
Icon Style
- Selects one of the five visual icon styles described in Understanding the Icons
Space Management
- Space names: Assigns custom names of any length to individual spaces
- The menu displays full names regardless of length
- Menu bar icons show full names when only the active space is shown, otherwise names are truncated to 4 or 6 characters for compactness
- Optionally, for each Space icon, a color can be selected.
- Spaces shown: Selects which spaces are shown in the menu bar: all, a few, or just the current one
- Nearby range: With "Nearby spaces", this determines how many spaces will be shown
Switching Spaces
- Shortcut keys and Modifiers: Tell Spaceman which shortcut keys have been defined in Mission Control for switching spaces.
- Open System Settings β Mission Control Shortcuts: Opens the System Settings panel for the Keyboard. Click [Shortcuts] and [Mission Control] to define these.
Spaceman provides multiple ways to switch between spaces quickly and efficiently.
For space switching to work, you need to configure three things:
1. Accessibility and Automation Permissions
- Go to System Settings β Privacy & Security β Accessibility
- Add Spaceman to the list of allowed applications.β
- Enable the checkbox next to Spaceman
- Go to System Settings β Privacy & Security β Automation
- Add Spaceman to the list of allowed applications.β
- Enable the checkbox next to Spaceman
β If you are updating from a previous version, you may need to remove and re-add Spaceman to grant permissions to the new version.
2. Mission Control Shortcuts
- Go to System Settings β Keyboard β Keyboard Shortcuts β Mission Control
- Assign keyboard shortcuts to "Switch to Desktop 1", "Switch to Desktop 2", etc.
- Make sure shortcuts are enabled for the spaces you want to access
3. Spaceman Shortcut Configuration
- Open Spaceman preferences and go to the Spaces tab
- Under "Switching Spaces", select your preferred shortcut scheme:
- Number keys on top row: Uses keys 1-9, 0 for spaces 1-10
- Numeric keypad: Uses numpad keys
- Add the modifier keys (Shift, Control, Option, Command) that Mission Control has been configured to use
Menu Bar Clicking
- Click directly on any space icon in the menu bar to switch to that space
- Current space is highlighted and cannot be clicked
- Clicking an unavailable space flashes the menu bar
Menu Selection
- Right-click the Spaceman icon to open the context menu
- Select any space from the list to switch to it
- Menu shows full space names and indicates the current space with a checkmark
Keyboard Shortcuts
- Spaceman does not do the space switching itself, but sends shortcut keystrokes to Mission Control.
- Switching between spaces is then handled by Mission Control directly.
- The first 10 regular spaces will send shortcuts with numbers (1-9, 0)
- The first 2 fullscreen spaces will also send shortcuts, but Mission Control cannot switch to fullscreen spaces.
- If you want to make use of these, you require a third-party app like Apptivate to switch to a running (full-screen) application.
- Spaces beyond the first 10 cannot be switched to via keyboard shortcuts
- Mission Control doesn't have the capability to switch to fullscreen spaces
- Space switching will fail without proper Accessibility permissions
Spaceman supports AppleScript commands for remote control:
Refresh spaces:
$ osascript -e 'tell application "Spaceman" to refresh'For details on how to maximize usefulness of this, see MikeJL's Comments
Open preferences window:
$ osascript -e 'tell application "Spaceman" to open preferences'These commands can be used in automation tools like Alfred, Keyboard Maestro, or custom scripts.
If Spaceman does not start, or does not run correctly, after an upgrade: you may need to delete the application defaults:
$ defaults delete dev.ruittenb.Spaceman- This project was forked from Sasindu Jayasinghe
- This project is based on WhichSpace
- This project uses Sparkle for update delivery
- This project makes use of LaunchAtLogin
- This project makes use of KeyboardShortcuts
- Authors:
- Contributions by: