Published on

Sketchybar, Aerospace, & JankyBorders

Authors

๐Ÿ‘‹๐Ÿป Introduction

Sketchybar, Aerospace, and JankyBorders : welcome to my over-30 PDE (personal development environment) era. Call it a Millennial Quarter-life crisis if you want, but after watching Pewdie Pie's Arch Linux video months ago, I fell down the rabbit hole and decided: Even if I can't commit to Omarchy & Linux, I'm ricing my Mac anyway...

What annoyed me about stock MacOS

  1. Window management - The swooping animations when cmd+tabing between apps or entire workspaces feel like my eyes are getting sucked through a vortex, sometimes Apple has creative overkill. Just go to it, don't animate everything.
  2. Slow navigation - cmd+tab alone feels like caveman tech when you have multiple windows per app, it forces mouse use that could be avoided.
  3. Menu bar customization - Dark or light? That's it? Where's the color, the personality?
  4. Tray icon clutter - I don't need every app and their grandnode visible at all times
  5. Menu dropdowns - Once you learn the shortcuts, they're just visual noise

Don't get me wrong - MacOS is reliable, smooth, and buttery. It's my go-to for any new role. But microanimations aren't for everything, and I want tools that work great and then get out of my way.

Enter the trifecta: Sketchybar + Aerospace + JankyBorders.

๐Ÿ›ธ Aerospace : i3-like window management

Aerospace on GitHub

Aerospace brings i3-style tiling to MacOS without the swooping animations. Navigate with alt+<number>, assign windows with alt+shift+<number>, and you still have cmd+tab if you need it.

Installation & Configuration

Install via Homebrew, then create your config:

mkdir -p ~/.config/aerospace && touch ~/.config/aerospace/aerospace.toml

Here's my basic setup with sensible defaults:

# Start AeroSpace at login
start-at-login = true

# Normalizations
enable-normalization-flatten-containers = true
enable-normalization-opposite-orientation-for-nested-containers = true

# Layout settings
accordion-padding = 30
default-root-container-layout = 'tiles'
default-root-container-orientation = 'auto'

# Mouse follows focus
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']

# Sketchybar integration : instant workspace updates
exec-on-workspace-change = ['/Users/zion/.local/bin/sketchybar-aerospace-update']

# Gaps between windows
[gaps]
inner.horizontal = 10
inner.vertical =   10
outer.left =       15
outer.bottom =     15
outer.top =        60  # Space for sketchybar
outer.right =      15

[mode.main.binding]
# Focus windows with alt + h/j/k/l
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'

# Move windows with alt + shift + h/j/k/l
alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'

# Workspaces: alt + 1-9 to switch
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
alt-4 = 'workspace 4'
alt-5 = 'workspace 5'
alt-6 = 'workspace 6'
alt-7 = 'workspace 7'
alt-8 = 'workspace 8'
alt-9 = 'workspace 9'

# Move to workspace: alt + shift + 1-9
alt-shift-1 = 'move-node-to-workspace 1'
alt-shift-2 = 'move-node-to-workspace 2'
alt-shift-3 = 'move-node-to-workspace 3'
alt-shift-4 = 'move-node-to-workspace 4'
alt-shift-5 = 'move-node-to-workspace 5'
alt-shift-6 = 'move-node-to-workspace 6'
alt-shift-7 = 'move-node-to-workspace 7'
alt-shift-8 = 'move-node-to-workspace 8'
alt-shift-9 = 'move-node-to-workspace 9'

# Utilities
alt-tab = 'workspace-back-and-forth'
alt-f = 'fullscreen'
alt-s = 'layout v_accordion'
alt-r = 'mode resize'

[mode.resize.binding]
h = 'resize width -50'
j = 'resize height +50'
k = 'resize height -50'
l = 'resize width +50'
enter = 'mode main'
esc = 'mode main'

# Floating windows for system apps
[[on-window-detected]]
if.app-id = 'com.apple.finder'
run = 'layout floating'

[[on-window-detected]]
if.app-id = 'com.apple.systempreferences'
run = 'layout floating'

[[on-window-detected]]
if.app-id = 'com.apple.ActivityMonitor'
run = 'layout floating'

โŒจ๏ธ The Ergonomic Secret Weapon

Here's what makes this setup truly shine: my Kinesis Advantage 360 (Signature Series with Kailh Quiet Pink switches and PBT keycaps). The split ergonomic design with thumb clusters transforms these keybindings from finger gymnastics into effortless muscle memory.

Why this keyboard is perfect for Aerospace:

With the thumb clusters, I can hit alt with my left thumb while my fingers naturally rest on the home row or reach numbers. The ergo split means:

  • alt + tab : Thumb + reach = toggle between last two spaces
  • alt + 1-9 : Thumb + number = instant workspace switching
  • alt + shift + 1-9 : Both thumbs + number = move window to workspace
  • alt + h/j/k/l : Thumb + home row = navigate panes (vim-style)
  • alt + shift + h/j/k/l : Both thumbs + home row = move panes around

My left pinky handles cmd + space for Raycast without strain. Everything is within comfortable reach : no hand contortions, no RSI anxiety. Just smooth, intentional movements.

The beauty? After a week, it's pure muscle memory. Your hands know where everything is, and window management becomes as natural as typing. No more reaching across the keyboard or doing finger yoga for basic window operations.

If you're spending 8+ hours a day in your editor and terminal, the ergo keyboard investment pays dividends. My hands thank me daily.

๐Ÿฅท๐Ÿป Sketchybar : Custom status bar

Sketchybar on GitHub

Sketchybar replaces the MacOS menu bar with something infinitely more customizable. Check out "Share your setups" in the repo for inspiration.

My setup includes:

  • Emoji and machine name
  • Quick access to System Preferences, Activity Monitor, and Lock Screen
  • Spotify plugin with hover controls
  • Essential system icons (battery, volume, WiFi, Bluetooth, DND)
  • Dato integration for calendar/timezone

Here's the left side with workspace indicators and quick actions:

Hovering over the mic icon reveals current Spotify playback:

And the right side keeps essential system info accessible:

It matches my Warp terminal aesthetic perfectly:

Configuration

My sketchybar setup includes colors, helpers, items, and plugins directories with various scripts. The heart of it is sketchybarrc.

Pro tip: Install sketchybar-app-font for ligature-based app icons.

For the full configuration, check out my dotfiles on GitHub.

๐ŸŽจ JankyBorders : Window borders that pop

JankyBorders on GitHub

JankyBorders adds customizable borders to your windows, making it crystal clear which window has focus. Perfect complement to Aerospace's tiling.

Installation & Usage

Install via Homebrew, then add these aliases to your .zshrc:

# JankyBorders : window borders
alias jankyon="pkill -f borders; brew services restart borders && sleep 1 && borders active_color=0xffffffff inactive_color=0x00ffffff width=5.0 style=round > /dev/null 2>&1 &"
alias jankyoff="pkill -f borders && brew services stop borders"

Now jankyon gives you white borders on active windows, while inactive ones fade to transparent. The style=round matches MacOS's window corners nicely.

๐Ÿš€ Useful aliases

Toggle between your custom setup and stock MacOS:

# Restart everything
alias rsa="brew services restart sketchybar && killall AeroSpace && sleep 2 && open -a AeroSpace"

# Switch to custom setup
alias showsketchy='
echo "Switching to sketchybar..."
defaults write NSGlobalDomain _HIHideMenuBar -bool true
defaults write com.apple.dock autohide-menu-bar -bool true
osascript -e "tell application \"System Preferences\" to quit"
osascript -e "
tell application \"System Events\"
    tell dock preferences
        set properties to {autohide menu bar: true}
    end tell
end tell
"
killall SystemUIServer 2>/dev/null
killall Dock 2>/dev/null
sleep 2
brew services start felixkratz/formulae/sketchybar
sleep 2
echo "Sketchybar active with menu bar hidden!"
'

# Switch back to MacOS default
alias showmac='
echo "Switching to macOS menu bar..."
brew services stop felixkratz/formulae/sketchybar
sleep 1
defaults write NSGlobalDomain _HIHideMenuBar -bool false
defaults write com.apple.dock autohide-menu-bar -bool false
osascript -e "
tell application \"System Events\"
    tell dock preferences
        set properties to {autohide menu bar: false}
    end tell
end tell
"
killall SystemUIServer 2>/dev/null
killall Dock 2>/dev/null
sleep 1
echo "macOS menu bar restored!"
'

# AeroSpace cheatsheet
alias as='echo "
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚           AeroSpace Cheatsheet          โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
๐Ÿงญ Focus (navigate between windows):
   alt-h/j/k/l       โ†’  focus left/down/up/right
๐Ÿ“ฆ Move windows:
   alt-shift-h/j/k/l โ†’  move left/down/up/right
๐Ÿ”ง Resize mode:
   alt-r             โ†’  enter resize mode
     h/j/k/l         โ†’  resize left/down/up/right
     escape          โ†’  exit resize mode
โŒ Quit window:
   cmd-q             โ†’  close window
๐Ÿ–ฅ๏ธ  Workspaces:
   alt-1/2/3         โ†’  switch to workspace
   alt-shift-1/2/3   โ†’  move window to workspace
"'

๐Ÿ The Complete Flow

  1. Install : Homebrew for all three tools
  2. Configure : Set up Aerospace with your preferred keybindings
  3. Customize : Build your Sketchybar layout and plugins
  4. Polish : Add JankyBorders for visual window focus
  5. Automate : Use aliases to quickly switch between setups

The result? A MacOS setup that feels like home for Linux tiling WM enthusiasts, with the reliability and polish of MacOS underneath.

๐Ÿ Fin

Thanks for sticking with me through this rough draft that I threw together in less than an hour. ๐Ÿ˜…

Make thyself all simplicity.

โ€“Marcus Aurelius, 121 โ€“ 180 AD

๐Ÿ“ฉ P.S. At least on Mac we can turn Hiding on :)

I've got 8+ years of dev ridiculousness to share, so expect more posts. Some will resonate, some won't. That's fine by me. ยฏ\_(ใƒ„)_/ยฏ

Questions? Need help? Contact me.

Cheers! ๐Ÿป

- Valiant โš”๏ธ