GoldenChaos-BTT: A complete Touch Bar UI replacement preset

touch-bar
window-snapping
keyboard

#1



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: https://paypal.me/GoldenChaos

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

Latest stable version: GoldenChaos-BTT 2.641

(Sep 25 2018 - Release Notes) No longer requires High Sierra Media Key Enabler! Plus: Settings menu with customization options for esc key, Home Strip keys, Menu Bar icons, Dock badges, Date/Time formatting with 24-Hour Time, and default calendar app selection; Seamless upgrades with just a tap using the "Reapply Settings" button; Fully scriptable, with a simple preset format so you can have multiple GC-BTT's for different occasions; Native Now Playing widget with dramatic CPU usage improvements; Collapsible Menu Bar with three sizes; New Connectivity Actions menu; New Current Language and Language Picker widgets with flags for 47 different languages

Latest experimental version: None!

Don't worry, that won't last long.

How to install

  1. Make sure you're using the latest stable version of BetterTouchTool.
    • Feeling brave? Install the latest alpha BetterTouchTool to use the experimental versions.
  2. [One time only] Install icalBuddy so that the calendar widgets will work.
  3. [One time only] Configure BTT's General Touch Bar settings properly.
  4. Upgrading? Follow these steps.
  5. Follow one of the two release links at the top of this post and click "Direct import to BTT". BTT will automatically launch and ask to import the preset - say yes to everything.
  6. You're all set! Press ⌘⌥⇧P to access the GC-BTT settings menu where you can customize GC-BTT to your liking.

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

Screenshots

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 Groups

Widget Groups like Emoji Picker, Browser Tabs, and Language Switcher 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 with Seamless Upgrading

The straightforward GC-BTT Settings panel (⌘⌥⇧P) makes it easy to deeply customize your Touch Bar. Settings transfer seamlessly to new versions of GC-BTT with "Reapply All Settings".

General Touch Bar Settings

GoldenChaos-BTT is designed to completely take over the Touch Bar, escape key and all. Since BetterTouchTool isn't set up this way by default, make sure to match BetterTouchTool's General Touch Bar Settings to the configuration shown below before importing - if you don't, things probably won't look right.

Upgrading GoldenChaos-BTT

GoldenChaos-BTT has a seamless upgrade system that allows your customized settings to transfer from one version to the next by storing your settings inside BTT itself. For it to work, you'll first need to completely remove any existing installations of GoldenChaos-BTT - if you don't, the settings menu won't work.

To remove existing GC-BTT installations and safely upgrade to a new version, follow these steps:

  1. Click "Manage Presets" inside of BetterTouchTool
  2. Select and delete all installations of GoldenChaos-BTT. If you do not remove all GC-BTT installations before upgrading, the settings menu won’t work!
  3. Navigate to one of the two latest release links at the top of this post and click "Direct import to BTT" to automatically launch BetterTouchTool and import the latest preset.
  4. Open the GC-BTT Settings menu by pressing ⌘⌥⇧P.
  5. Tap “Reapply All Settings” and watch the pretty progress bar.
  6. After it's done running, your previous setup should be restored! I guess that's not really a step. ¯_(ツ)_/¯

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.

Notes:

  • 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 https://goldenchaos.net. And thank you for trying out GoldenChaos-BTT! :slightly_smiling_face:


Option for left or right-docked button groups to open in the scrollable container instead of the whole touch bar
[b3.0.2] AquaTouch: Supports 35+ apps and websites, AND the native TouchBar. No Compromises!
GoldenChaos-BTT Support and Feedback Thread
[b3.0.2] AquaTouch: Supports 35+ apps and websites, AND the native TouchBar. No Compromises!
Player Controls for iTunes & Youtube (including slider widget for scrolling through track)
#2

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


#14

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.


#24

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

Downlerd: https://github.com/GoldenChaos/GoldenChaos-BTT/raw/master/goldenchaos-btt.bttpresetcompressed?raw=true

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.)


#26

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.


#31

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.


#39

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.


#40

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.


#51

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.


#61

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.


#64

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.


#88

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.


#92

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.

Changelog:

  • 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.


#110

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.


#120

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).


#151

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.

Changelog:

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

Download GoldenChaos-BTT 2.536: https://share.folivora.ai/sharedPreset/6fe03dd3-5ec6-47be-8919-3d4af731d804


#155

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.

Changelog:

  • Weather widget now auto-sets units based on location

Download GoldenChaos-BTT 2.536-2: https://share.folivora.ai/sharedPreset/12064a3a-7bd2-4d44-a997-7451f9bf6a93


#164

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: https://share.folivora.ai/sharedPreset/96df1486-847e-471e-a588-fb924221ad8f


#179

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


#189

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