I've been using a combination of a Linux and ChromeOS as my work laptops, but my current job now has me using a Macbook Pro which I haven't touched in over 10 years. A combination of the way OSX behaves and the workflow necessary for my particular work environment (Slack, Outlook, Claude Code, etc.) made me realize that I really needed to configure it if I expect to have a half decent work experience.
Aerospace Windows Manager
With the sheer number of different windows (apps and many browser windows), I couldn't function with a floating windows manager. OSX's spaces/Mission Control was not effective in taming the chaos so I decided to use Aerospace, a tiling windows manager influenced by i3wm. With Aerospace, having one application per workspace is much more intuitive and natural because of how well it's shortcuts are integrated with it. It was almost instinctive to have my browser windows in the B workspace because the shortcut to it is simply Alt-B and Aerospace allowed you to configure so that whenever a browser window is opened that it can automatically put in the B workspace. Along with not having all the gazillions windows overlapping each other was enough for me to use it, but the additional features, programmability and keyboard friendliness made it even more worth while for me to adopt it.
SketchyBar
SketchyBar is a nice complement to Aerospace. It's a programmable OSX menu replacement, but I have it running vertically exclusively for Aerospace where it shows the Aerospace workspaces and what is running in each workspace.
JankyBorders
When there are multiple windows in one workspace, sometimes it wasn't obvious which was the active window. JankyBorders is an utility program that draws a more visible border around the active window to make it more easily identifiable.
Integrating Aerospace, SketchyBar and JankyBorders
AeroSpace and JankyBoarder complements each other and doesn't exactly require integration but since Aerospace can be configured to run external programs as part of its startup it is simple to simply have Aerospace launch JankyBorder.
Integrating Aerospace and SketchyBar took a little more effort but the basic steps are:
- [Aerospace] Have Aerospace start SketchyBar.
- [Aerospace] Tell Aerospace that whenever there is a chance to a workspace that it should call SketchyBar to tell it of an event change and pass along the workspace that is in focus.
- [SketchyBar] Set its config file (~/config/sketchybar/sketchybarrc) to call Aerospace's command line app to get the active workspaces and apps in each workspace to be added to the SketchyBar menu.
My ~/.aerospace.toml and ~/.config/sketchybar/[sketchybarrc | aerospace.sh] can be found on Github.

No comments:
Post a Comment