GoldenChaos-BTT: The complete Touch Bar UI replacement

New version with Spotify long-press widget! It's a little bit more basic than the iTunes one, but I did leave a bunch of placeholders in the widget for whenever I or someone else is able to get those additional functions working. For now we've got shuffle/repeat and copy track link :slight_smile: enjoy @ZucchiniZe :smile:

GoldenChaos-BTT 2.563-6 changelog:

  • Added long-press widget for Spotify Now Playing with the following added controls:
    • Shuffle
    • Repeat
    • Copy Link to Song
    • Disabled placeholders for Thumbs Up/Down, Add to Library, Favorite, Go to Album, and Go to Artist (not functional)
  • Fixed an issue where the Spotify Now Playing formatting would break slightly during advertisements
  • Fixed an issue where the Repeat control in the iTunes Now Playing long-press widget would not highlight when activated
  • And of course, all the great performance improvements from 2.563-5


Download: GoldenChaos-BTT 2.563-6

1 Like

New version! @Andreas_Hegenberg this version is very, very stable. What version of BTT do you think is going to be the next stable release?

@Randy_Saeks after testing, I can't reproduce your calendar bug. Have you changed it at all?

GoldenChaos-BTT 2.566 changelog:

  • Resolved an issue where various widget icons would disappear on BTT restart
  • Optimized image sizes, reducing preset's uncompressed file size from 265mb to 22mb (!!)
  • Organized widgets a bit since this preset has gotten heug
  • Added handoff support to dock widgets
  • Added Safari handoff dock widget
  • Long press on Next Track button to skip ahead 30 seconds (iTunes only)
  • Long press on Previous Track button to rewind 15 seconds (iTunes only)


Download: GoldenChaos-BTT 2.566

1 Like

New version again! Since I had some extra time, I made the volume up button display a dynamic icon :slightly_smiling_face: it doesn't require any extra scripts since it returns the alternate icons as text in base64. This'll probably be the last update for today, haha.

@TheAnonymous010 that's great news!! :smile:

EDIT: Fixed a small bug with the repeat button using my newfound widget updating powers :stuck_out_tongue: decided to just replace the current version rather than releasing a new one so soon.

GoldenChaos-BTT 2.566-2 changelog:

  • Fixed an issue where the iTunes repeat button would not highlight properly
  • New Volume Up widget dynamically displays current volume status
  • Better Volume Down icon


Download: GoldenChaos-BTT 2.566-2

1 Like

Okay, I lied, I've got one more tiny new version. Couldn't help myself :slightly_smiling_face:

GoldenChaos-BTT 2.566-3 changelog:

  • Volume Up button now turns blue if wireless headphones are connected


Download: GoldenChaos-BTT 2.566-3


New version! @Harrumph had an idea that was so good how could I not put out a release at 4am?!

GoldenChaos-BTT 2.566-4 changelog:

  • Long-press the fullscreen/esc button for escape only

Download: GoldenChaos-BTT 2.566-4

1 Like

Awesome. I've just uploaded GC-BTT 2.600, and I took the liberty of taking some newer screenshots for you to include in the release notes since it's changed visually from 2.536 quite a bit.

GoldenChaos-BTT 2.600 changelog:

  • Stable release!
  • Added Safari Technology Preview handoff dock widget
  • Added Google Chrome handoff dock widget
  • Added Chrome Canary handoff dock widget


Improved UI:

Expanded widgets on long-press:

Emoji and browser tabs:

New modifier key menus:

Download: GoldenChaos-BTT 2.600

1 Like

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