GoldenChaos-BTT: The complete Touch Bar UI replacement

New experimental version! This one is actually experimental, so expect new features to be work in progress. Don't run experimental versions from now on unless I specifically mention a particular one is stable, or unless you're willing to sacrifice battery life to try new features that may or may not work properly. etc etc :stuck_out_tongue:

GoldenChaos-BTT 2.605 changelog

  • New Connectivity Actions modal widget! Long-press on Volume Up, Wi-Fi, Bluetooth, or Connect to BT Accessory to open. Access to the following controls:
    • Wi-Fi toggle (sticky)
    • Bluetooth toggle (sticky)
    • AirPlay Mirror (sticky)
    • Detailed volume indicator (sticky)
      • Volume mute
      • Volume slider with up and down buttons
      • Volume percentage
    • Connect to AirPods
      • Displays (currently unstyled) battery level indicators when connected
    • Connect to Beats
    • Connect to Gamepad
  • New Language Picker and Current Language widget and widget group! These are very very early and disabled by default. They only support a few defaults taken from here at the moment, and other than adding the standard GC-BTT UI I haven't really modified this yet.
  • Fixed remaining disappearing icon issues
  • Fixed an issue where the iTunes Now Playing widget would not open iTunes when playing was stopped
  • Copy Apple Music Link functionality is now faster and works more reliably
  • Controls that are unavailable when playing is stopped will now hide themselves properly in the expanded iTunes Now Playing widget
  • Some further housekeeping to keep things organized

Known issues

  • Flag icons are not vertically centered properly in the Current Language widget


Download: GoldenChaos-BTT 2.605

New experimental version with collapsable menu bar on the main screen! @Andreas_Hegenberg what's the timeline on the Reuse Widget functionality?

Please let me know what you think of the collapsing functionality! In particular I'm wondering if the tap target for the chevron is too small.

GoldenChaos-BTT 2.605-2 changelog:

  • Added experimental Collapse/Expand Menu Bar UI
    • Due to a limitation with BTT, this currently only works on the main screen. It will work everywhere in a near-future release!


Download: GoldenChaos-BTT 2.605-2

New experimental version! Decided screw waiting I want cool features now.

GoldenChaos-BTT 2.608 changelog

  • Collapsable menu bar now works everywhere
    • Collapsable state can only be toggled from main screen
    • Collapsed/Expanded preference is retained between BTT restarts
    • Made collapse/expand chevrons a little bit less bright

Known issues

  • Emoji and App Switcher widgets don't change width when menu bar is collapsed, will fix in the next release

Questions for testers

  • Do you think the weather widget should be included in the reduced menu bar set? For this first iteration I've gone super-minimal. A part of me loves it but also wants to see the weather. I've also considered having it rotate between three states (S/M/L), where the current reduced option is "S" and an "M" layout would have the date and weather but no Spotlight/Siri/Notification Center buttons.
  • Do you think controls for things like window snapping should get a padding increase to fill the available space when the menu bar is collapsed?


Download: GoldenChaos-BTT 2.608

That is weird. Well, in this new version I moved the location of the toggle scripts, so it should work this time! Hopefully :stuck_out_tongue:

GoldenChaos-BTT 2.608-2 changelog

  • Added Skype for Business dock badge widget
  • Fixed an issue where Skype's dock badge widget would mistakenly look for Telegram's badge
  • Added third state to menu bar collapse, now cycles between Large / Medium / Small sizes
  • Adjusted emoji and app switcher widgets to take advantage of all three menu bar sizes


Download: GoldenChaos-BTT 2.608-2

New experimental version! Quite a few changes in this one.

GoldenChaos-BTT 2.610

  • Dramatic energy and CPU usage improvements
  • Preset no longer requires High Sierra Media Key Enabler
  • Moved to native Now Playing widget, deprecated previous Now Playing widgets
  • iTunes and Spotify Actions are now combined into a single Now Playing Actions group
  • Added GC-BTT settings modal
    • Enable the GC-BTT Settings button inside of BetterTouchTool, then tap it to access settings
    • Easily toggle between using combo and normal esc keys across the preset
    • Includes button to hide the settings button when you're done
    • More settings to come, feel free to suggest some!
    • Also, someone please suggest a keyboard shortcut to trigger the settings modal :stuck_out_tongue:

Known issues

  • Trying to view 7-Day Forecast crashes BTT for some reason @Andreas_Hegenberg
  • Chrome Now Playing no longer works because it is not supported by the native Now Playing widget; I may re-include Now Playing widgets for unsupported apps


New GC-BTT settings button (disabled by default)

Toggle all the things (just two things for now)

Fullscreen buttons automatically added to UI when using normal esc keys

Normal esc key works everywhere!

Customized layouts like this can now be set up in just a few seconds.

Download: GoldenChaos-BTT 2.610

New experimental version - the menu bar update :open_mouth: I recommend disabling the "Animate Group Open & Close" global Touch Bar setting for the best effect in this version. @Andreas_Hegenberg can there PLEASE be a setting inside each button group's preferences to force animating/not animating on group open?

The only thing left is dock settings, I think, so that will be next.

GoldenChaos-BTT 2.620 changelog

  • [Settings] Press ⌘⌥⇧, to access the GC-BTT settings menu
  • [Settings] Added menu bar customization to GC-BTT settings menu
  • [Settings] Added Show GC-BTT Settings menu bar item
  • [Menu Bar] Browser Tabs menu bar item now appears and disappears more reliably
  • [Menu Bar] Menu bar items, including collapse/expand controls, now show up inside widget groups and reflect your personal settings
  • [Menu Bar] Made medium sized menu bar slightly more medium
  • [Now Playing] Album art now shows correctly on pause
  • [bananas] holy fraking bananas this preset is getting complex


So many toggle switches.

You can go ultra-minimal and disable literally everything except the clock.

Volume and brightness menu bar items are present in the option menu even if you disable them.

My personal daily set. I'd love to see other peoples' configurations!

Download: GoldenChaos-BTT 2.620

New experimental version! Dock settings + GC-BTT Config Presets!

GoldenChaos-BTT 2.620-2 changelog:

  • [Settings] Added dock badge settings
  • [Settings] Added presets category
  • [Settings] Added default preset
  • Copy the default preset and make your own config that can be saved separately from GC-BTT and persist between upgrades! :open_mouth:
  • Likewise, GC-BTT is now scriptable! You can trigger the action associated with any button in the settings menu using standard BTT AppleScript functions.

Known issues

  • Applying presets is very slow and buggy and kind of doesn't work. Please test out this feature and let me know if you know a way to make it work more reliably/faster.


Download: GoldenChaos-BTT 2.620-2

1 Like

New version! The holy-crap-presets-work update :open_mouth:

GoldenChaos-BTT 2.620-3 changelog:

  • [Settings] Default preset now works
  • [Settings] Copy the default preset to make your own config
  • [Settings] All setting buttons now trigger named setting triggers. Use these named triggers to automate the GC-BTT UI however you like, or to make your own GC-BTT preset.
  • Made the separation between widget categories in BTT Preferences more obvious, let me know if it looks too obnoxious


Download: GoldenChaos-BTT 2.620-3

I made a new version that makes it a bit easier to decipher how to add your own preset :slight_smile: I also got the language picker done (finally)!

GoldenChaos-BTT 2.624 changelog:

  • [Settings] Added "GC's GC-BTT" preset for GC-BTT preset for BetterTouchTool (my personal daily driver preset)
  • [Settings] Added "Custom Preset" example preset; edit it and make your own! Copy it and make presets for different situations!
  • [Menu Bar] Current Language now displays flags for 47 different languages
  • [Language Picker] Language Picker now gets up to 10 languages from the Text Input menu bar item
  • [Language Picker] Language Picker will hide button for currently selected language
  • [Connectivity Actions] Made on/off states for Wi-Fi and Bluetooth toggles more clear
  • [Now Playing] Fixed album art for Spotify
  • [bananas] words cannot describe how much i love having a "default" button for making releases


Presets are at the top of the "Other" tab.

Don't forget to edit the settings button after you customize your preset!

Download: GoldenChaos-BTT 2.624

1 Like

New version!

GoldenChaos-BTT 2.625 changelog:

  • [Settings] "Mute Microphone" trigger renamed to "Microphone Mute"
  • [Settings] Added Volume Mute menu bar item (disabled by default, enable in settings)
  • [Connectivity Actions] Added Airplane Mode toggle
  • [Languages] Language Picker is now called Languages
  • [Languages] Will now prompt you to enable the Input menu in the macOS menu bar appropriately
  • [Now Playing] Now Playing widget once again hides if no player is running
  • Preset now uses built-in font colors to change the icon color instead of loading a different icon
  • Better Do Not Disturb icon


Download: GoldenChaos-BTT 2.625

New version!

GoldenChaos-BTT 2.626 "Stitch" changelog:

  • [Now Playing] All-new logic for Play/Pause, Previous, and Next buttons using system media status
  • [Now Playing] Deprecated standalone Play/Pause button in favor of newer more capable media controls
  • [Now Playing] Added Fast Forward/Rewind support to browser media controls in Safari and Chrome
  • [Now Playing] Added browser media control detection for Netflix, Hulu, and HBO Go in Safari and Chrome
  • [Now Playing] Added media control support for YouTube, Netflix, Hulu, and HBO Go single-site apps
  • [Now Playing] Expanded Now Playing widget will now display an error if left open while no media players are running
  • [Now Playing] Media controls now appear when opening video or audio workstation apps
  • [Menu Bar] Microphone Mute now appears when opening video or audio workstation apps
  • [Menu Bar] Microphone Mute now appears when opening Skype for Business
  • [bananas] couldn't help myself with the version name


That's one sexy error message.

Download: GoldenChaos-BTT 2.626 "Stitch"

I actually prefer the lighter buttons myself. In an unreleased version I had set all the buttons to the system default, but I thought they were too dark and didn't provide the amount of contrast I wanted between the scrollable container and the menu bar.

In any case - new version! :smile:

GoldenChaos-BTT 2.627 changelog:

  • [Escape Keys] New combo button behavior based on user feedback! Tap for esc, hold for fullscreen :slight_smile:
    • If you avoided or disabled the combo button in the past, please try this new one out and let me know what you think!
  • [Settings] Added setting to choose your preferred calendar app to open when tapping on calendar widgets (Fantastical/Apple Calendar)
  • [Settings] Updated built-in presets with default calendar setting
  • Improved rendering of Back/Forward and Play/Pause icons

Notes for testers

Thank you everyone for your feedback about the combo button! I really want to keep improving this particular key, so please let me know what you think of this new one and what you would change.


Download: GoldenChaos-BTT 2.627

1 Like

New version! @PhilMac try this one out and see if it works for you. I'm not sure what's causing your issue but maybe reimporting will do the trick.

GoldenChaos-BTT 2.627-2 changelog:

  • [Now Playing] Widget will no longer prioritize iTunes over other media players
  • [Connectivity Actions] Device connection indicators will now move to the front of the list when connected
  • [Connectivity Actions] Cleaned up AirPods battery display
  • [Connectivity Actions] Added Beats battery display
  • [Option Menu] Sleep button automatically appears next to Lock Screen button when Menu Bar is set to small or medium sizes
  • Eliminated unused alternate icons and settings across the preset (reduced uncompressed file size by 3.5MB!)


Download: GoldenChaos-BTT 2.627-2

New version!

GoldenChaos-BTT 2.628 changelog:

  • [Now Playing] Completely rewritten media controls logic (again) - this time with no additional performance cost! Much simpler and uses BTT's native internal variables.
  • [Connectivity Actions] Fixed an issue with AirPods battery display
  • [7-Day Forecast] Improved rendering of High/Low arrows
  • [7-Day Forecast] Fixed inconsistent padding between items

Developer's notes

This took a while to debug. Turns out you have to wrap these get_string_variable statements in tell statements, otherwise they won't work. Here's the full code for the Play/Pause button:

tell application "BetterTouchTool"
		set showMediaControls to get_string_variable "BTTCurrentlyPlayingApp"
		set playerState to get_number_variable "BTTCurrentlyPlaying"
	end try
end tell
if showMediaControls is not "" then
	if playerState is 1.0 then
		return "Pause"
		return "Play"
	end if
	return ""
end if

And the rest of the buttons:

tell application "BetterTouchTool"
		set showMediaControls to get_string_variable "BTTCurrentlyPlayingApp"
	end try
end tell
if showMediaControls is not "" then
	return " "
	return ""
end if

Much simpler, super performant, and has identical behavior to the Now Playing widget.


Download: GoldenChaos-BTT 2.628


Alright, I think it's ready for the first test run. This is a hefty update to settings!

GoldenChaos-BTT 2.634 changelog:

  • [Keyboard Shortcuts] New GC-BTT Settings shortcut: ⌘⇧P
  • [Keyboard Shortcuts] New Toggle Stock Touch Bar UI shortcut: ⌘⇧0
  • [Gestures] Brightness control gesture now also adjusts external displays
  • [Settings] Added date/time size settings
  • [Settings] Added weather widget show/hide settings
  • [Settings] Added Spotlight key show/hide settings
  • [Settings] Added Siri key show/hide settings
  • [Settings] Added Notification Center key show/hide settings
  • [Settings] Updated Default preset with new settings
  • [Settings] Updated GC's GC-BTT preset with new settings
  • [Settings] Removed Custom Preset template because it was taking up menu space and you can easily just copy the Default preset

Known issues

  • The collapse/expand menu bar control currently will not automatically disable itself if all dynamic buttons are hidden and the dynamic date display is off; this will be implemented in the next version

Developer's notes

  • I'll document all the new variables I made in a future release. For now, if you're feeling adventurous, have a look around the new named setting triggers and the collapse/expand menu bar triggers.
    • @oldgreydog if you find the date size named triggers it should be pretty clear how to edit those variables to your liking :slight_smile:
  • Once all the kinks are worked out of this, that essentially completes the first run of settings - and that means it's stable version time. Please beat this with a hammer and let's get all the issues worked out!


Download: GoldenChaos-BTT 2.634

New version!

GoldenChaos-BTT 2.635 changelog:

  • [Escape Keys] Fixed issue where the normal esc key was erroneously hiding its text label
  • [Menu Bar] Added AM/PM display to small date/time format
  • [Settings] Improved date/time format picker
  • [Settings] Fixed some variable name issues with the new settings

Known issues

  • Still gotta implement the chevron auto-hiding behavior if you disable all dynamic things
  • Microphone Mute button does not work with (needs testing)


Download: GoldenChaos-BTT 2.635


New version! No screenshots for this one, but a lot of under-the-hood changes that make the behavior of the dynamic buttons a lot less janky and unpredictable. Please test out these new dynamic button settings! Especially from a fresh setup, I need to see if they initialize properly.

GoldenChaos-BTT 2.636 changelog

  • [Keyboard Shortcuts] Changed GC-BTT keyboard shortcuts to avoid app conflicts
    • Use ⌘⌥⇧P to access GC-BTT settings
    • Use ⌘⌥⇧0 to toggle stock Touch Bar UI
  • [Settings] Refactor of Date/Time settings to be MUCH more reliable by @oldgreydog!
  • [Settings] Refactored Weather/Spotlight/Siri/Notification Center key settings using similar logic
  • [Calendar] Calendar widgets now display all-day events by default

Download: GoldenChaos-BTT 2.636


Tiny new version - please test and see if there are still issues with the date not being properly initialized.

@Sahaj.Patel making upgrading easier is what these latest experimental releases are all about :smiley:

GoldenChaos-BTT 2.636-2 changelog

  • [Settings] Attempt to fix dynamic button string variable initialization issue

Download: GoldenChaos-BTT 2.636-2

1 Like

Small new version once again! Now that I know things are working properly, some tidying up :slight_smile:

GoldenChaos-BTT 2.636-3 changelog

  • [Dock Badges] Added Trello dock badge
  • [Settings] Added Trello dock badge settings to built-in presets
  • [Settings] Added nice comments to all named trigger scripts describing their function

Download: GoldenChaos-BTT 2.636-3


New version!

GoldenChaos-BTT 2.638 changelog

  • [Settings] Added Time Format settings
    • Choose between 12-Hour and 24-Hour time formats
    • Default values added to built-in presets, too

Notes for testers

  • Logic for setting the Time Format is currently not super efficient, but should tell me if it works. Please try out the 24-Hour Time option and make sure it sets properly everywhere. If you encounter any issues getting the option to work, report them here.


Huh. I think I need to replace my contacts after I'm done with this Netflix.

Download: GoldenChaos-BTT 2.638

1 Like
Imprint | Privacy Policy