GoldenChaos-BTT: The complete Touch Bar UI replacement

I love the Touch Bar. That's why I was so upset that Apple just sat on its useless user interface. So, inspired by Vas3k's popular blog post on the subject, and determined to make good on the promise that Apple broke, I've spent a (ridiculous) amount of time reworking the foundations of the Touch Bar into GoldenChaos-BTT: a true general purpose Touch Bar UI with support for tons of apps that's intuitive enough to make you love your Touch Bar again - or, more likely, for the first time.

Want to buy me a coffee? You can donate here:

Thinking about buying BetterTouchTool because of this preset? Use this link and I'll get 40%. :slight_smile:

Latest stable version: GoldenChaos-BTT 3.563

Verified by the BetterTouchTool developer, thoroughly tested by the community.
Download link not working? Try the GitHub mirror.
(May 29 2021 - Release Notes) Option to disable GC-BTT menu bar item; Fixes for settings window rendering issues; New Presets functionality for multi-config management; Support for AirPods Max; Fixes for AirPods battery display issues; Fixes for Battery Percentage display; New dock badges for Boxy Suite and Facebook Messenger

Latest experimental version: None

Newer features, but less tested. Generally stable, but read the release notes first.

How to install

  1. Make sure you're using the latest version of BetterTouchTool.
  2. Follow one of the two release links at the top of this post and click "Direct import to BTT".
  3. Say yes to BTT when it asks if you want to import the preset.
  4. [Upgrades only] Say yes when BTT asks if you want to overwrite your existing GC-BTT.

You're all set! Use the built-in settings window to customize GC-BTT to your liking.

Need help? Head over to the GC-BTT Help and Feedback thread!


Home Strip

The default key set when nothing is open. Fullscreen doubles as escape key; tap for escape, long-press for fullscreen.

Open a browser, and browser controls appear in the Home Strip.

Open more apps to reveal a wide range of dynamic controls and widgets. Close apps to dismiss their controls.

Modifier Menus

Hold command, option, or control to access the app switcher, control strip, or window snapping controls.

Dynamic Menu Bar

Dynamic Menu Bar with three size options lets you dedicate as much or as little space to widgets as you like.

Widget Strips

Widget Groups like Emoji Picker and Browser Tabs replace the Home Strip, but not the Menu Bar.

Modal Widgets

Access expanded-view Modal Widgets by long-pressing on Weather, Now Playing, Reminders, Calendar, Volume, and more.

Dock Badges

Dock Badges appear on the left side of the Touch Bar and remain sticky.

Built-in Dock Badge support for all of your favorite third party apps; enable or disable them in the GC-BTT Settings menu.

Dock Badges also support handoff!

Settings Window

The straightforward GC-BTT Settings window makes it easy to deeply customize your Touch Bar or restore your settings and is accessible right from the macOS menu bar.

Previous Versions

Only install the latest version unless you have a specific troubleshooting reason. If you do need to install an older version for whatever reason, make sure the version of BetterTouchTool you're running is greater than or equal to the GoldenChaos-BTT version you're installing.


  • Versions 3.186 and earlier require icalBuddy (brew install ical-buddy) for the reminders widgets to work.
  • Versions 3.065-4 and earlier require icalBuddy (brew install ical-buddy) for the calendar and reminders widgets to work.
  • Versions 2.543 and earlier require the Python Requests module (pip install requests) and Locateme (brew install locateme) for the weather widget to work.
  • Versions 2.531 and earlier require the calendar widget to first be edited to include the names of the calendars that you wish to display.
  • Versions 2.516 and earlier require Location Helper and JSON Helper for the weather widget to work. Not compatible with macOS Mojave.

Version History:

I make other cool stuff, too, like Zelda Maps for Breath of the Wild! Check out all my other projects at And thank you for trying out GoldenChaos-BTT! :slightly_smiling_face:

1155 posts were merged into an existing topic: GC-BTT General Help Thread

Now that there have been two Mojave BTT betas, I went in and fixed the icon sizing issues up. The weather widget seems to be related to Location Helper needing Mojave support, so I've disabled it by default until Location Helper releases an update.

Download: goldenchaos-btt.bttpresetcompressed (608.2 KB)
Created with BTT alpha v2.516.

Whoa is it true?! A new version of GoldenChaos-BTT?! IT IS! Wow wow wow wow wow.


Made with BTT alpha 2.518.

Full list of changes:

  • More compatibility fixes for macOS Mojave betas
  • Replaced weather widget with more performant python weather script powered by Dark Sky
    • Added SI units option to weather script (commented out by default)
    • Location now uses LocateMe and is more accurate; install with brew install LocateMe
    • This widget also uses the Python requests module; install with pip install requests
    • You can also delete Location Helper and JSON Helper as they are no longer required for this preset
    • This new widget will also work on older versions of macOS!
  • Added support for YouTube now playing in Chrome
  • New icons for Safari/Chrome now playing widgets
  • Beta microphone mute toggle switch (off by default, has no conditions for display yet. I'd like it to only appear for Skype/Hangouts/Slack/Discord and those types of apps. Feel free to try finishing this one for me or just wait till I get to it!)

The latest Mojave-compatible version will always be available from my GitHub link, at least until @Andreas_Hegenberg adds updating to the sharing site. (Also, fyi for Andreas: even compressed, this preset is now too large to upload to the sharing service or to these boards.)


New version! Finished the microphone mute toggle button, and it's compatible with Mojave beta. It will appear next to the media controls when any of the following apps are open:

  • Skype
  • FaceTime
  • Google Hangouts (as a fluid app)
  • Discord
  • Discord Canary
  • Slack

If anyone uses any more calling apps, let me know and I'll add support.

Also, now that uploading is fixed, I'll upload preset files here again. The GitHub link will still be maintained and be the latest version, but I'm trying not to share that link as much.

Download: goldenchaos-btt.bttpresetcompressed (2.2 MB)

Made with BTT alpha 2.518.

Okay, try this updated preset file. I've changed the calendar script from an AppleScript to a shell script and set it to run every 5 seconds instead of 60. Not sure if that will fix things, but I'm not sure why it was an AppleScript in the first place so... can't hurt.

Download: goldenchaos-btt.bttpresetcompressed (2.3 MB)

Made with BTT alpha 2.518.

New release incorporating @arthur's fixes! Thanks for submitting them to me :slight_smile:

Download: goldenchaos-btt.bttpresetcompressed (2.3 MB)

Made with BTT alpha 2.525.


New version (2.525-2):

  • Added VLC now playing support; comes first in the media player hierarchy and displays even if other media players are running (thanks @arthur for the script!)
  • Fixed button colors
  • Re-enabled weather widget with new cron scheduling to use less API calls

Download: goldenchaos-btt.bttpresetcompressed (2.4 MB)

GoldenChaos-BTT 2.525-2. Exported using BTT alpha 2.525.


New version! Changelog:

  • Reduced weather widget API calls even further
  • Fixed Calendar widget error (finally)

Download: goldenchaos-btt-2.526.bttpresetcompressed (2.4 MB)

GoldenChaos-BTT 2.526. Exported using BTT alpha 2.526.


New version while I remake the weather widget. Changelog:

  • Weather widget now uses 50% less API requests (updates every hour now, please don't change :stuck_out_tongue:)
  • Refactored the now playing widget hierarchy to be more reliable when multiple different players are running
  • Added now playing support for QuickTime (does not work with media controls yet)
  • Disabled VLC support by default as the VLC widget would continually launch VLC even if it was not running
  • Minor text fixes

Download: goldenchaos-btt-2.530.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT 2.530. Exported with BetterTouchTool Alpha 2.530.

EDIT 2: Well that didn’t last long lol. EDIT: Wow! Thank you to the folks who switched to the new version. Weather widget API usage is at very manageable levels now and we shouldn't run out before @Andreas_Hegenberg has the chance to make the built-in one.

New version! Changelog for 2.530-2:

  • Unread Mail widget now only appears if Mail is already running instead of forcing mail open
  • Re-enabled VLC widget by default
  • Fixed try statements and added error handling

Weather widget seems to be doing very well today, we're under 100 calls :open_mouth: that's good news!

Download: goldenchaos-btt-2.530-2.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT 2.530-2. Exported with BetterTouchTool Alpha 2.530.

This issue popped up recently. I just did some debugging and I got this error message:

iTunes got an error: application support folder doesn’t understand the “path to” message

However, I'm not really sure when iTunes decided it didn't support this. So, for now, I've commented out the album art portion of the script which is where this error originates. At least now it displays track info! As soon as the album art portion is fixed I'll upload another new version.

For now, updated version with the now playing fix is below. I also fixed a small error with the microphone mute button always displaying :slight_smile:

Download: goldenchaos-btt-2.531.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT beta 2.531. Exported with BetterTouchTool alpha 2.531.

Ah, I missed that you had also said the error was occurring with Spotify. I've fixed that now. However, I can't reproduce the issue you're having with the iTunes script - it's working totally fine for me now, sans album artwork. EDIT: It's worth mentioning that I have configured the iTunes widget to hide by default if Spotify is running; that is the intended behavior so that only one actively playing element is shown at a time.


  • Fixed Spotify now playing widget (album art temporarily disabled)
  • Corrected Spotify now playing widget output to match iTunes now playing widget output

Download: goldenchaos-btt-2.531-2.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT beta 2.531-2. Exported with BetterTouchTool alpha 2.531.

Heyyyy I think I've got everything fixed now! Hopefully this will be the last new version for the day, haha.

@wowthatisrandom I might in the future, but right now it's easier to maintain if I update the whole preset. I do wish this were easier to collaborate on, though.

2.531-3 Changelog:

  • Re-enabled iTunes and Spotify album artwork
  • Spotify widget will now display "Paused" when not playing music
  • iTunes widget will now display "Stopped" if music is stopped
  • Removed a bunch of useless try statements from a bunch of widgets

Download: goldenchaos-btt-2.531-3.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT 2.531-3. Exported with BetterTouchTool alpha 2.531.

Oh boy oh boy! This one's a good one. It fixes two of my biggest issues with the preset so far. My ultimate goal is for this to be zero-config, and it just got a lot closer to that.

GoldenChaos-BTT 2.532 Changelog:

  • Reminders widget now uses iCalBuddy, no longer requires having Reminders open
  • Reminders widget will now display overdue items before it displays undated items
  • Calendar widget no longer requires configuration, will get events from all calendars by default

Download: goldenchaos-btt-2.532.bttpresetcompressed (3.4 MB)

GoldenChaos-BTT beta 2.532. Exported with BetterTouchTool alpha 2.532 on macOS Mojave beta (18A336e).

1 Like

Hey guys! So, I've decided I dislike uploading new versions to the forum, so from now on I am going to upload each new version to the official sharing site. This means that there will be a new URL for each version of the preset, which I'm okay with at this point. @Andreas_Hegenberg is very active and I think as long as this preset stays popular new versions will get verified fast enough :slightly_smiling_face:

To start it off, I've uploaded GoldenChaos-BTT 2.536. It has no changes other than being on the sharing site, so if you already installed v2.532 you don't need to "update" to 2.536. I've also updated the link in the first post. Until it's verified it'll be listed as the "beta" version.


  • GoldenChaos-BTT betas now hosted on the official share site

Download GoldenChaos-BTT 2.536:

Thank you for this fix! I had no idea they could auto-set units. Here's an updated version of the preset containing this fix.


  • Weather widget now auto-sets units based on location

Download GoldenChaos-BTT 2.536-2:


I did a thing guys

GoldenChaos 2.536-3 changelog:

  • Made the weather widget not shit itself when there's no connection or we run out of API calls (just display the default weather icon instead)

Download GoldenChaos-BTT 2.536-3:

Awesome! The mail widget always displaying was actually an error on my part, and I've added your Spotify album art fix as well.

Just for the curious: keeping all widgets and buttons on-screen regardless of which app is frontmost has been an intentional design choice so far. In this sense, you can customize your current keyboard by running or quitting various apps, which ultimately means you can rely on the keys staying where they are once they appear and can form muscle memory for the key positions. Additionally, Back and Forward can be used with Finder and System Preferences and a host of other apps, which is why they are considered Finder controls by default and never hidden (I'm debating adding New Tab to this group as well considering it's really now a system-wide thing).

GoldenChaos-BTT 2.536-4 changelog:

  • Unread mail widget no longer persistently displays when there is no unread mail
  • Spotify widget now downloads album artwork only on song change instead of every second

Download: GoldenChaos-BTT 2.536-4

New version! Now that things are pretty stable and I've gotten to see a bit of what the community is contributing, I've made some functionality improvements :slight_smile:

GC-BTT v2.536-5 changelog:

  • New Tab and AirDrop buttons added to default button set (congratulations, New Tab button! They grow up so fast :sob:)
  • Application switcher button now hidden by default
  • Application switcher can now be summoned by holding command (thanks for the idea, @thisisstark!)
  • New Dark Mode toggle button in the option menu
  • New True Tone toggle button in the option menu (non-functional)

Let me know what you guys think of the new default button set.

Download: GoldenChaos-BTT 2.536-5