As this project is now simply a status bar on its own, the 'status_bar_' prefix on all config options seemed superfluous :)
5.5 KiB
Status Bar for the Mac.
About
spacebar is a status bar for ↗ yabai tiling window management.
Installation
A codesigned binary release of spacebar can be installed using Homebrew from the tap somdoron/formulae.
brew install somdoron/formulae/spacebar
Open System Preferences.app and navigate to Security & Privacy, then Privacy, then Accessibility. Click the lock icon at the bottom and enter your password to allow changes to the list. Starting with brew services start spacebar
will prompt the user to allow spacebar accessibility permissions. Check the box next to spacebar to allow accessibility permissions.
To run space, simply start it:
brew services start spacebar
Configuration
The per-user spacebar configuration file must be executable; it is just a shell script that's ran before spacebar launches. It must be placed at one of the following places (in order):
- $XDG_CONFIG_HOME/spacebar/spacebarrc
- $HOME/.config/spacebar/spacebarrc
- $HOME/.spacebarrc
Create empty configuration file and make it executable:
touch ~/.config/spacebar/spacebarrc
chmod +x ~/.config/spacebar/spacebarrc
All of the configuration options can be changed at runtime as well.
Example configuration:
spacebar -m config text_font "Helvetica Neue:Bold:12.0"
spacebar -m config icon_font "Font Awesome 5:Regular:12.0"
spacebar -m config background_color 0xff202020
spacebar -m config foreground_color 0xffa8a8a8
spacebar -m config space_icon_strip I II III IV V VI VII VIII IX X
spacebar -m config power_icon_strip
spacebar -m config space_icon
spacebar -m config clock_icon
- Sample configuration files can be found in the ↗ examples directory. Refer to the ↗ documentation.
Integration with yabai
Add the following to your yabai configuration, so yabai won't draw over the status bar.
yabai -m config top_padding 26
Debug output and error reporting
In the case that something is not working as you're expecting, please make sure to take a look in the output and error log. To enable debug output make sure that your configuration file contains spacebar -m config debug_output on
or that spacebar is launched with the --verbose
flag. If you are running through brew services the log files can be found in the following directory:
# directory containing log files (HOMEBREW_PREFIX defaults to /usr/local unless you manually specified otherwise)
HOMEBREW_PREFIX/var/log/spacebar/
# view the last lines of the error log
tail -f /usr/local/var/log/spacebar/spacebar.err.log
# view the last lines of the debug log
tail -f /usr/local/var/log/spacebar/spacebar.out.log
Upgrade
brew services stop spacebar
brew upgrade spacebar
brew services start spacebar
Requirements and Caveats
Please read the below requirements carefully. Make sure you fulfil all of them before filing an issue.
Requirement | Note |
---|---|
Operating System | macOS Catalina 10.15.0+ is supported. |
Accessibility API | spacebar must be given permission to utilize the Accessibility API and will request access upon launch. The application must be restarted after access has been granted. |
Please also take note of the following caveats.
Caveat | Note |
---|---|
Code Signing | When building from source (or installing from HEAD), it is recommended to codesign the binary so it retains its accessibility and automation privileges when updated or rebuilt. |
Mission Control | In the Mission Control preferences pane in System Preferences, the setting "Automatically rearrange Spaces based on most recent use" should be disabled. |
License and Attribution
spacebar is licensed under the ↗ MIT License, a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
Thanks to @koekeishiya for creating yabai.
Disclaimer
Use at your own discretion. I take no responsibility if anything should happen to your machine while trying to install, test or otherwise use this software in any form.