Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
6800ff9
fix: retain managed display spaces
gregorias May 31, 2023
d546725
Implemented "Only show active spaces" which will hide all non-active …
lxsavage Mar 16, 2024
504f4b4
Fixed active icon spacing issue when in hiding inactive spaces
lxsavage Mar 16, 2024
abe4580
Moved "Only show active spaces" checkbox to a more logical location
lxsavage Mar 16, 2024
4a32d55
Create .gitignore
yakirlog Mar 29, 2024
7ebb325
add apple script refresh command
LehMichael May 30, 2024
cd2da68
sort spaces by monitor locaction
LehMichael May 31, 2024
740bc17
remove print from getDisplayCenter function
LehMichael May 31, 2024
6667228
Merge branch 'gitignore' into development
ruittenb Aug 27, 2024
9f363f5
Merge remote-tracking branch 'lxsavage/14-show-only-current-space-on-…
ruittenb Aug 27, 2024
b740085
Updated .gitignore
ruittenb Aug 28, 2024
9ec954a
Increase space name length limit to 4 characters (#10)
ruittenb Aug 29, 2024
dcbdd30
Merge branch 'four-characters' into development
ruittenb Aug 29, 2024
ae3bfb4
Crude first working version
ruittenb Aug 28, 2024
832132d
Make menus semi-dynamic
ruittenb Aug 28, 2024
8e7091e
Moved responsabilities to Helpers
ruittenb Aug 28, 2024
83bf256
Display shortcut keys in menu
ruittenb Aug 28, 2024
0c522b7
Dynamically update menu when the list of spaces updates
ruittenb Aug 28, 2024
82a5559
Move shortcut key settings to configuration window
ruittenb Aug 29, 2024
77db46c
Updated documentation
ruittenb Aug 28, 2024
9f129d7
Merge branch 'desktop-switcher' into development
ruittenb Aug 29, 2024
6f70100
Renamed 'Config' to 'ShortcutHelper'
ruittenb Aug 29, 2024
23f8bf6
Show space numbers in menu
ruittenb Aug 29, 2024
df895a4
Merge branch 'space-number-in-menu' into development
ruittenb Aug 29, 2024
abdcd06
Minor refactoring
ruittenb Aug 29, 2024
cc16409
Better support for names consisting of four characters
ruittenb Aug 29, 2024
e8bcbc4
Merge branch 'four-characters' into development
ruittenb Aug 29, 2024
d1a6438
Bumped version
ruittenb Aug 29, 2024
458cf11
Fix unwanted save space name
ruittenb Aug 29, 2024
99c10b1
Merge branch 'fix-unwanted-save' into development
ruittenb Aug 29, 2024
72af5a9
Bump version
ruittenb Aug 29, 2024
49f8b99
Fix unwanted space number jump after refresh
ruittenb Aug 29, 2024
662cc85
Merge branch 'fix-num-jump' into development
ruittenb Aug 29, 2024
d0ab998
Bump version
ruittenb Aug 29, 2024
d8f1c61
Added Makefile for commandline-driven distribution
ruittenb Aug 30, 2024
f91b395
Updated documentation
ruittenb Aug 31, 2024
13f2870
Minor refactoring
ruittenb Aug 31, 2024
3b0689f
Added tentative code for narrow space numbers
ruittenb Aug 31, 2024
8ed49f2
Improved layout of preferences dialog
ruittenb Aug 31, 2024
9d1a40f
Merge branch 'development' into main
ruittenb Aug 31, 2024
74f2b85
Updated CHANGELOG
ruittenb Sep 2, 2024
1e640e0
Updated Makefile
ruittenb Sep 2, 2024
f7fc6ae
Refactored preferences dialog
ruittenb Sep 2, 2024
9bafe18
Added name cache
ruittenb Sep 2, 2024
d7b7d03
Preferences dialog: fetch name when selecting space
ruittenb Sep 2, 2024
0ada5f3
Preferences dialog: update space name cache when setting space name
ruittenb Sep 2, 2024
e6e64e3
Merge branch 'namecache' into development
ruittenb Sep 2, 2024
211b612
Updated README
ruittenb Sep 2, 2024
b1b2d7e
Bumped version
ruittenb Sep 2, 2024
180e6ec
Fix: preferences dialog: do not overwrite space name while editing
ruittenb Sep 2, 2024
bf5f50e
Updated CHANGELOG
ruittenb Sep 2, 2024
0fe2408
Updated README
ruittenb Sep 2, 2024
d2aaa94
Merge remote-tracking branch 'mike-jl/add-script-refresh-command' int…
ruittenb Sep 2, 2024
d3ebb76
Updated README and CHANGELOG
ruittenb Sep 2, 2024
90ca85f
Bumped version
ruittenb Sep 2, 2024
acb1614
Updated images for documentation
ruittenb Sep 2, 2024
cfe2582
Updated README
ruittenb Sep 3, 2024
e4f14b1
Merge remote-tracking branch 'mike-jl/order-spaces-by-monitor-locatio…
ruittenb Sep 3, 2024
2ed67de
Replaced some ifs with guards
ruittenb Sep 3, 2024
cbbc3ad
Bumped version; updated CHANGELOG
ruittenb Sep 3, 2024
ea478c5
Removed debugging line
ruittenb Sep 3, 2024
83da7cb
Create one single icon for each menu entry
ruittenb Sep 3, 2024
a483940
Removed obsolete setting
ruittenb Sep 3, 2024
82064de
Merge branch 'menu-icons' into development
ruittenb Sep 3, 2024
8faa01a
Updated Changelog
ruittenb Sep 3, 2024
dfc0d1c
Updated screenshot
ruittenb Sep 3, 2024
b96ce18
Better menu icon opacity
ruittenb Sep 3, 2024
10a12d6
Bumped version; updated CHANGELOG
ruittenb Sep 3, 2024
f52ebd2
Minor refactoring
ruittenb Sep 3, 2024
b56515c
Support restarting numbering in menu and numbers-only rendering
ruittenb Sep 3, 2024
36336a3
Minor refactoring
ruittenb Sep 3, 2024
bad0248
Merge branch 'numbering-by-desktop' into development
ruittenb Sep 3, 2024
958f25d
Added make-appcast script for checking updates
ruittenb Sep 4, 2024
9287de2
Added appcast mechanism
ruittenb Sep 4, 2024
9c1b4ca
Updated appcast/release xml location; website
ruittenb Sep 4, 2024
a17d418
Merge branch 'build' into development
ruittenb Sep 4, 2024
9d99375
Corrections to generating appcast.cml; Tweaked ignore files; udpated …
ruittenb Sep 4, 2024
07b29d4
Merge branch 'build' into development
ruittenb Sep 4, 2024
0560f76
Distinguish between friendly version and machine-readable in appcast
ruittenb Sep 4, 2024
d93d9fc
Corrected version/build number in project
ruittenb Sep 4, 2024
a713e89
If osascript fails, show button for opening System Settings right there
ruittenb Sep 5, 2024
ecb771e
Updated Makefile with 'tag' target; Updated CHANGELOG
ruittenb Sep 5, 2024
9000c53
Updated appcast.xml
ruittenb Sep 5, 2024
07775c6
Updated CHANGELOG
ruittenb Sep 5, 2024
9a4c69c
Fixed whitespace
ruittenb Sep 5, 2024
1d129f2
Register clicking status bar icon using menu delegate
ruittenb Sep 5, 2024
9e9f289
Prepare to navigate by pixel click location
ruittenb Sep 5, 2024
e6d50d4
Calculate space from pixel click location
ruittenb Sep 5, 2024
f18b789
comments
ruittenb Sep 5, 2024
8f1ea08
Attempt at converting coordinates (WIP)
ruittenb Sep 5, 2024
15181e7
Actual space switching and code cleanup
ruittenb Sep 5, 2024
5232959
Merge branch 'click-status-bar-icon' into development
ruittenb Sep 6, 2024
b22b31f
Added style: names without numbers
ruittenb Sep 6, 2024
a0dda25
Merge branch 'icon-names-only' into master
ruittenb Sep 6, 2024
4c12885
Added appcast for 1.5.7
ruittenb Sep 6, 2024
57968c7
Fixed numbering fullscreen spaces
ruittenb Sep 6, 2024
48a2a1f
Updated appcast to 1.5.8
ruittenb Sep 6, 2024
6539f06
Fixed shortcut keys and availability of menu options for fullscreen s…
ruittenb Sep 6, 2024
40bfe64
Updated appcast to 1.5.9-R
ruittenb Sep 6, 2024
086d25f
Updated README
ruittenb Sep 7, 2024
1629ca6
Added displaying correct desktop numbers in preferences drop-down
ruittenb Sep 9, 2024
0950424
Merge branch 'space-names-in-prefs' into master
ruittenb Sep 10, 2024
5e607d8
Updated README and CHANGELOG
ruittenb Sep 10, 2024
cd9e328
Updated appcast for 1.5.10
ruittenb Sep 10, 2024
2cf24f7
Merge branch 'main' into development
ruittenb Sep 10, 2024
d02e470
Attempt to repair user defaults that may be invalid after merge
ruittenb Sep 10, 2024
83b6775
Updated README and CHANGELOG
ruittenb Sep 10, 2024
8972990
Attempt to repair user defaults that may be invalid after merge
ruittenb Sep 10, 2024
383e1ed
Updated README with troubleshooting
ruittenb Sep 11, 2024
f0bc4f3
Updated creating a disk image
ruittenb Sep 10, 2024
03f9e18
Updated package name to dev.ruittenb.Spaceman; removed -R from version
ruittenb Sep 11, 2024
c53f772
Fixed presenting wrong modifier keys when run for the first time
ruittenb Sep 11, 2024
112147c
Updated appcast to 1.5.11
ruittenb Sep 11, 2024
8809516
Updated README
ruittenb Sep 11, 2024
c18cd33
Fixed determining version in Makefile
ruittenb Sep 12, 2024
62a7821
Merge branch 'main' into development
ruittenb Sep 12, 2024
b62e037
Updated URL of github repo
ruittenb Sep 14, 2024
7e0643c
Minor improvements to preferences view
ruittenb Sep 19, 2024
29e4060
Merge branch 'main' into development
ruittenb Sep 19, 2024
1f7e5bc
Updated appcast for 1.5.12
ruittenb Sep 19, 2024
8cd20c0
Updated CHANGELOG
ruittenb Sep 19, 2024
35011a0
Updated README-Yabai
ruittenb Sep 24, 2024
a4a6708
Flash status bar if there is no shortcut key for selected space
ruittenb Sep 23, 2024
8400dcc
Bumped version number
ruittenb Sep 24, 2024
722e250
Updated README-Yabai
ruittenb Sep 24, 2024
065f9d1
Merge branch 'flash-status-bar' into development
ruittenb Sep 24, 2024
6ce1bd1
Updated CHANGELOG and README
ruittenb Sep 24, 2024
85e3724
Flash status bar using highlight instead of color
ruittenb Sep 24, 2024
86b11b5
Merge branch 'flash-status-bar' into development
ruittenb Sep 24, 2024
9e76e4e
Updated version and CHANGELOG
ruittenb Sep 24, 2024
2049075
Corrected menu response, size and origin
ruittenb Sep 23, 2024
553f801
wip: working RMB
ruittenb Sep 24, 2024
87a0cf1
Dispatch events to the correct thread
ruittenb Sep 25, 2024
3f7b211
Merge branch 'reposition-menu' into development
ruittenb Sep 25, 2024
b7a43f2
Removed unused appcast file
ruittenb Sep 25, 2024
857c845
Refactor: take button variable from sender; removed unused code
ruittenb Sep 25, 2024
6138fe8
Execute modal dialog in main thread
ruittenb Sep 25, 2024
c0cd1cc
Delay taking action on mouse click. Fixes responsiveness
ruittenb Sep 25, 2024
002f949
Updated README and CHANGELOG
ruittenb Sep 25, 2024
051e886
Merge branch 'development' into main
ruittenb Sep 25, 2024
3e323a0
Updated appcast
ruittenb Sep 25, 2024
fc2cc7f
Updated documentation images
ruittenb Sep 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
30 changes: 30 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
1.6.6: Fix responsiveness of status bar icon
1.6.5: Flash status bar icon when space has no shortcut key
1.6.4: Flash status bar icon when space has no shortcut key
1.6.3 : Merged 1.5.12 into 1.6.2
1.6.2 : Merged 1.5.11 into 1.6.1-R
1.6.1-R: Merged 1.5.10-R into 1.6.0-R
1.6.0-R: Add support for clicking icon in status bar
1.5.12 : Minor updates to preferences dialog (github repo url, modifier keys)
1.5.11 : Updated disk image; corrected handling incompatible user defaults
1.5.10-R: Fix: corrected space names in menu and in preferences drop-down
1.5.9-R: Fix: fullscreen spaces have no shortcut keys; disable menu options that lack a shortcut key
1.5.8-R: Correction to numbering fullscreen spaces
1.5.7-R: New status bar icon style: names without numbers
1.5.6-R: Add button for opening System Settings panel from dialog; Fix checking for updates
1.5.5-R: Support for restarting numbering in menu and numbers-only rendering
1.5.4-R: Minor refactoring
1.5.3-R: Tweaked menu icon opacity
1.5.2-R: Removed obsolete configuration option
1.5.1-R: Display icons in menu
1.5.0-R: Sort displays left/right (by Michael Lehenauer)
1.4.0-R: Add Applescript refresh command (by Michael Lehenauer)
1.3.1-R: Fix editing space names
1.3.0-R: Remember Space Names
1.2.5-R: Improved preferences layout; updated documentation
1.2.4-R: Added Makefile for commandline-driven distribution
1.2.3-R: Fix space number jump in properties dialog after refresh
1.2.2-R: Fix saving of space name other than using "Update name" button
1.2.1-R: Better support for space names consisting of four characters
1.2.0-R: Show space numbers in menu
1.1.1-R: Desktop switcher using menu options
Binary file added Images/Accessibility-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Accessibility-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Accessibility-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Accessibility-2.xcf
Binary file not shown.
Binary file added Images/Menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Preferences-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Preferences-4a.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Preferences-4b.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed Images/Preferences.png
Binary file not shown.
Binary file added Images/Shortcuts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Images/Spaceman_Example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/Switching-Spaces.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@

PROJECT = Spaceman
APPNAME = $(PROJECT).app
BUILDDIR = build
ARCHIVE = $(BUILDDIR)/$(PROJECT).xcarchive
IMAGEDIR = $(BUILDDIR)/diskimage
APPFILE = $(IMAGEDIR)/$(APPNAME)
PBXPROJ = $(PROJECT).xcodeproj/project.pbxproj
VERSION = $(shell awk -F'["; ]*' '/MARKETING_VERSION/ { print $$3; exit }' $(PBXPROJ))
IMAGE = $(BUILDDIR)/$(PROJECT)-$(VERSION).dmg

.DEFAULT_GOAL := help

.PHONY: help # See https://tinyurl.com/makefile-autohelp
help: ## Print help for each target
@awk -v tab=15 'BEGIN{FS="(:.*## |##@ |@## )";c="\033[36m";m="\033[0m";y=" ";a=2;h()}function t(s){gsub(/[ \t]+$$/,"",s);gsub(/^[ \t]+/,"",s);return s}function u(g,d){split(t(g),f," ");for(j in f)printf"%s%s%-"tab"s%s%s\n",y,c,t(f[j]),m,d}function h(){printf"\nUsage:\n%smake %s<target>%s\n\nRecognized targets:\n",y,c,m}/\\$$/{gsub(/\\$$/,"");b=b$$0;next}b{$$0=b$$0;b=""}/^[-a-zA-Z0-9*\/%_. ]+:.*## /{p=sprintf("\n%"(tab+a)"s"y,"");gsub(/\\n/,p);if($$1~/%/&&$$2~/^%:/){n=split($$2,q,/%:|:% */);for(i=2;i<n;i+=2){g=$$1;sub(/%/,q[i],g);u(g,q[i+1])}}else if($$1~/%/&&$$2~/%:[^%]+:[^%]+:%/){d=$$2;sub(/^.*%:/,"",d);sub(/:%.*/,"",d);n=split(d,q,/:/);for(i=1;i<=n;i++){g=$$1;d=$$2;sub(/%/,q[i],g);sub(/%:[^%]+:%/,q[i],d);u(g,d)}}else u($$1,$$2)}/^##@ /{gsub(/\\n/,"\n");if(NF==3)tab=$$2;printf"\n%s\n",$$NF}END{print""}' $(MAKEFILE_LIST) # v1.62

.PHONY: build
build: ## Make the archive file
make $(ARCHIVE)

$(ARCHIVE): $(PBXPROJ)
xcodebuild -workspace $(PROJECT).xcodeproj/project.xcworkspace -scheme $(PROJECT) -configuration Release clean archive -archivePath $(ARCHIVE)

.PHONY: export
export: ## Make the app file
make $(APPFILE)

$(APPFILE): $(ARCHIVE)
xcodebuild -exportArchive -archivePath $(ARCHIVE) -exportOptionsPlist $(PROJECT)/exportOptions.plist -exportPath $(IMAGEDIR)
touch $(APPFILE)

.PHONY: image
image: ## Make the dmg image file
make $(IMAGE)

$(IMAGE): $(APPFILE)
create-dmg \
--volname "Spaceman Installer" \
--volicon $(IMAGEDIR)/.VolumeIcon.icns \
--background $(IMAGEDIR)/.background/dmg-background.tiff \
--window-pos 200 120 \
--window-size 640 440 \
--icon-size 128 \
--icon Spaceman.app 170 170 \
--icon Applications 470 170 \
--hide-extension Spaceman.app \
--app-drop-link 470 170 \
--no-internet-enable \
$(IMAGE) \
$(IMAGEDIR) # source folder

all: image ## Make all of the above

##@ Publishing

.PHONY: tag
tag: ## Tag the current HEAD with the version from the XCode project
git tag v$(VERSION)
git push --tags

.PHONY: appcast
appcast: ## Prepare appcast for publishing
git checkout main
$(BUILDDIR)/make-appcast.sh > website/appcast.xml
git add website/appcast.xml
@printf "\nCreated appcast.xml, now please commit it\n"

.PHONY: publish
publish: ## Publish the main branch appcast on Github Pages
git subtree push --prefix website origin main:github-pages

.PHONY: publish-force
# git subtree split --prefix website -b github-pages # create a local github-pages branch containing the splitted output folder
# git push -f origin github-pages:github-pages # force push the github-pages branch to origin
publish-force: ## Publish the main branch appcast on Github Pages (force push)
git checkout main
git push --force-with-lease origin `git subtree split --prefix website main`:github-pages

33 changes: 33 additions & 0 deletions README-Yabai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

## Feature: Add Apple Script Refresh Command

[mike-jl](https://github.com/mike-jl) [commented on May 30](https://github.com/Jaysce/Spaceman/pull/34):

It is possible to refresh Spaceman using the following Apple Script command:

```applescript
tell application "Spaceman" to refresh
```

When using yabai, you can make sure that the icons stay up to date with the following code added to the end of yabairc:

```sh
signals=(
"space_changed"
"display_added"
"display_removed"
"display_moved"
"display_changed"
"mission_control_enter"
"mission_control_exit"
"space_created"
"space_destroyed"
)
for signal in "${signals[@]}"
do
yabai --message signal \
--add \
event=$signal \
action="osascript -e 'tell application \"Spaceman\" to refresh'"
done
```
90 changes: 79 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,32 @@

![Spaceman Example](Images/Header.png)

## About

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 statusbar icons enable switching between spaces.

**Spaceman requires macOS 11 Big Sur or greater.**

## Install
### Homebrew
```
brew install spaceman
```

### GitHub
Go to the releases tab and download **Spaceman.dmg** from the latest release.

Go to the [releases](https://github.com/ruittenb/Spaceman/releases) tab and download **Spaceman.dmg** from the latest release.

## Usage
<a href="url"><img src="Images/Spaceman_Example.png" height="auto" width="auto" style="border-radius:10px"></a>

<img src="Images/Spaceman_Example.png" width="66%" height="auto">

The above image shows the possible icons that you will see depending on the style you choose.

There are 4 styles to choose from, from top to bottom:
There are five styles to choose from, from top to bottom:
- Rectangles
- Numbers
- Rectangles with Numbers
- Named Spaces
- Names
- Names with Numbers

The meaning of the icons from left to right are:

Expand All @@ -31,14 +37,76 @@ The meaning of the icons from left to right are:
- Inactive Space
- Active Fullscreen App

<a href="url"><img src="Images/Preferences.png" height="auto" width="auto" style="border-radius:10px"></a>
## Preferences

<img src="Images/Preferences-4a.png" width="66%" height="auto">

The style and the name of a space can be changed in preferences (shown above). A space is named by selecting the space from the dropdown, typing a name up to 4 characters and clicking the 'Update name' button.

If the icon fails to update, you can choose to force a refresh of the icon using a custom keyboard shortcut or allow Spaceman to refresh them automatically every 5 seconds by enabling 'Refresh spaces in background'.

### Switching Spaces

Icons in the status bar can be clicked to switch spaces:

<img src="Images/Switching-Spaces.gif" width="66%" height="auto">

The menu shows a list of space names. Selecting one will cause Spaceman to switch to that space.

<img src="Images/Menu.png" width="auto" height="auto">

The style and the name of a space can be changed in preferences (shown above). A space is named by selecting the space from the dropdown, typing a name up to 3 characters and clicking the 'Update name' button or pressing enter.
Spaceman switches spaces by sending a keyboard shortcut to Mission Control using `osascript`.
Note that only the first ten spaces will have shortcut keys assigned.
For extra spaces, switching will not be available; the status bar icon will flash if
selected, and the menu option will be disabled.

If the icon fails to update, you can choose to force a refresh of the icon using a custom keyboard shortcut or allow Spaceman to refresh them automatically every 5 seconds by enabling 'Refresh spaces in background'. See [#2](https://github.com/Jaysce/Spaceman/issues/2).
**For switching to work successfully, the following things need to be configured:**

- Spaceman needs authorization for Accessibility:

<img src="Images/Accessibility-1.png" width="66%" height="auto">
<img src="Images/Accessibility-2.png" width="66%" height="auto">

- Shortcut keys need to have been defined for Mission Control:

<img src="Images/Shortcuts.png" width="66%" height="auto">

- Spaceman needs to know which shortcuts to send:

<img src="Images/Preferences-4b.png" width="66%" height="auto">

## Remote Refresh

The list of spaces can also be refreshed using Applescript:

```sh
$ osascript -e 'tell application "Spaceman" to refresh'
```

For details on how to maximize usefulness of this, see [MikeJL's Comments](README-Yabai.md)

## Troubleshooting

If Spaceman does not start, or does not start correctly, after an upgrade: you may need to delete the application defaults:

```sh
$ defaults delete dev.ruittenb.Spaceman
```

## Attributions

- This project is based on [WhichSpace](https://github.com/gechr/WhichSpace)
- This project uses [Sparkle](https://sparkle-project.org) for update delivery
- This project makes use of [LaunchAtLogin](https://github.com/sindresorhus/LaunchAtLogin)
- This project makes use of [KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts)
- Authors:
- [Sasindu Jayasinghe](https://github.com/Jaysce/Spaceman)
- [René Uittenbogaard](https://github.com/ruittenb/Spaceman)
- Contributions by:
- [Dmitry Poznyak](https://github.com/triangular-sneaky/Spaceman)
- [Grzegorz Milka](https://github.com/gregorias)
- [Michael Lehenauer](https://github.com/mike-jl/Spaceman)
- [Logan Savage](https://github.com/lxsavage/Spaceman)
- [Yakir Lugasy](https://github.com/yakirlog/Spaceman)
- [aaplmath](https://github.com/aaplmath)

Loading