GoldenChaos-BTT: The complete Touch Bar UI replacement

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

New release is ready! Another big one.

v2.543 changelog:

  • New: Long press on iTunes Now Playing to enter expanded music view with:
    • Love/Dislike buttons
    • Shuffle/Repeat buttons
    • Full title and artist information
    • WiP buttons for Add to Library, Show Album in Library, Copy Apple Music Link, Show Artist in Library/Apple Music (not working, disabled by default)
  • New: Hold down control for expanded window snapping options
  • New: Refresh button only appears if you're using an app that can refresh
  • New: Long press New Tab while in a browser to open a new private window
  • New: Wi-Fi toggle button (Next to emoji button, disabled bu default)
  • True Tone button works now (on supported systems only)
  • Remade pretty much every icon using official Apple asset files
  • Related groups of buttons now look more related to each other
  • WiP buttons for Connect to AirPods and Bluetooth Toggle (not working, disabled by default)

Screenshots:


Hold control for expanded window snapping options!



Refresh button appears contextually! More refined icons for lots of buttons like New Tab!


Long press on the music widget to get expanded controls! (iTunes only) (yes I forgot to fix the media buttons here oopsie)

Download: GoldenChaos-BTT 2.543

2 Likes

New experimental release! I still haven't gotten the chance to debug Spotify/Chrome issues, that'll be in the next update.

GoldenChaos-BTT 2.550 changelog:

  • New expanded widgets for reminders, calendar, and weather (long press on each to view)
  • Date/Time widget long press also opens expanded calendar widget
  • Expanded calendar widget shows next 9 calendar events
  • Expanded reminders widget shows next 9 reminders w/ highlighting for overdue items
  • Expanded weather widget shows today's weather + 7-day forecast
  • All weather widgets changed to the native BTT weather widget
  • Now Playing widget hierarchy makes a lot more sense now and doesn't use if statements
  • VLC widget now enabled by default (will still cause VLC to launch on BTT restart, though)

Download: GoldenChaos-BTT 2.550

2 Likes

Aw yeah, this is happenin'! 2.551 fixed so many issues caused by the duplicate UUID thing, and thank you so much for adding caching.

I've updated GC-BTT with the new auto-unit weather widget setting, here you go guys! :slightly_smiling_face:

Download: GoldenChaos-BTT 2.551

2 Likes

Just wait till I learn more UI scripting... :wink: then I can add support for loads more apps!

Also - new version!

GoldenChaos-BTT 2.551-2 changelog:

  • Added iTunes UI scripting (:stuck_out_tongue_winking_eye:)
    • Tap the iTunes widget to go to the currently playing song in iTunes
    • Copy Apple Music Link to the currently playing song (expanded music widget only)
    • Add to Library/Download from iCloud Music Library conditional button (expanded music widget only)
  • Fixed expanded weather widget not being set to auto units
  • Fixed spacing between a bunch of things
  • Refresh and New Tab buttons now combine more nicely

Caveat: The copy link/add to library functions are slow because for some reason the UI scripting part of AppleScript likes to wait a really long time before simulating arrow key presses. If anyone knows a fix, would love to hear it.

EDIT: of course 2.552 comes out just in time to reset all the weather widget settings anyway lmao. LOVING the customization! @Andreas_Hegenberg could there be options for temperature high and full day name? Also, custom weather icons don't seem to save.

Download: GoldenChaos-BTT 2.551-2

New version!

GoldenChaos-BTT 2.553 changelog:

  • Unread Mail support for Astro email client
  • Weather widgets now use official Apple weather icons
  • Updated formatting of weather widgets to account for new customization options
  • Expanded weather widget UI overhaul (still needs better corner radii though)

Here's what the expanded weather widget looks like right now:

Download: GoldenChaos-BTT 2.553

@liamb I'm going through various popular mail clients now that I know how to do generic UI scripting and adding support slowly. I'll make sure to get Outlook :slightly_smiling_face: @Harrumph is it really that easy?!

Also, I think I've fixed the calendar widget issues; the command the output widgets were running contained an option that limited the output to a single item, which is why only the first one was showing up. I've uploaded a new experimental version, please give it a shot :slightly_smiling_face: lots of other fixes, too!

GoldenChaos-BTT 2.553-2 changelog:

  • Fixed issue where expanded calendar widget would only display one event
  • Added very early Browser Tabs widget, doesn't do much yet
  • Brightness controls now also raise/lower brightness of external displays at the same time (let me know what you think of this behavior; extends to external keyboards as well)
  • Fixed spacing/padding of everything across the entire preset, much better now
  • Reorganized button groups to make them easier to manage/add in the future
  • Changed a few buttons into scripts in preparation for making them conditional (eg True Tone)

Look how nice the padding is now! No more overflow.


Download: GoldenChaos-BTT 2.553-2

1 Like

New version!

GoldenChaos-BTT 2.555 changelog:

  • Fixed spacing/padding issues on BTT alpha 2.555
  • Adjusted sizing of weather icons and text placement
  • Fixed rounded corner UI on expanded weather widget
  • Today's High Temperature now actually shows the high temperature
  • Added Unread Mail widget for Outlook
  • iTunes Now Playing widget will now output the default icon if it can't get album artwork
  • Disabled VLC by default again because it still keeps opening, geez
  • More general nipping and tucking

Check it out:

Side note: It's clear after some testing that there is a bug causing the emoji and app switcher widgets to always be 0 width on import - @Andreas_Hegenberg could this be fixed soon?

I feel like we're getting close to a stable version! :slight_smile:

Download: GoldenChaos-BTT 2.555

1 Like

New version! Tiny one.

GoldenChaos-BTT 2.557 changelog:

  • Set calendar and reminders widgets to refresh more often since they don't require the apps being open
  • Due Today widget finally displays the correct reminder (or nothing if there is nothing due today)
  • Fixed some missing value issues with GC-BTT 2.555
  • New icon for Connect to AirPods button, turns blue when connected
  • Bluetooth Toggle script now works with no extra utilities, turns icon red when off (uses system prefs to get status, still better than installing a helper imho)

Also, I haven't tested it but I think the emoji/app switcher import bugs were fixed in BTT 2.557 :slight_smile:

Download: GoldenChaos-BTT 2.557

New version with my first pass at Safari Tabs! @chrisparker No Airmail or all-day events yet - Airmail is giving me some trouble since it doesn't provide seemingly any way to identify unread mail (ugh), and when I enable all-day events in iCalBuddy it seems to just output nothing. Looks like these two features will take some more time, haha.

GoldenChaos-BTT 2.557-2 changelog:

  • New Browser Tabs widget enabled by default
    • Button appears if you have at least 2 open tabs in Safari (Chrome support coming soon)
    • Browser Tabs view shows up to ten tabs plus browser controls
    • No favicons yet, but each tab has a nice numbered icon in the meantime
    • Tap on any tab in the Touch Bar to go to that tab in Safari
    • Known issue: Last tab will not have properly rounded corners
  • Microphone mute button moved to right side of Touch Bar

Screenshots:


Download: GoldenChaos-BTT 2.557-2

Alright, last new version for the day (I swear)! Please use this one with 2.557 since 2.559 is quirky. If you accidentally upgraded you can download 2.557 from here: https://bettertouchtool.net/releases/btt2.557_alpha.zip

GoldenChaos-BTT 2.557-3 changelog:

  • Added Google Chrome support to Browser Tabs widget
  • Chrome tabs will appear before Safari tabs if both are open
  • Added Unread Mail support for Spark
    • NOTE: Spark must have at least one window open (minimized or hidden is okay) for the script to work
  • Unread Mail for Astro now returns the correct number of unread emails
    • NOTE: Astro must have at least one window open (minimized or hidden is okay) for the script to work

Screenshots:

Download: GoldenChaos-BTT 2.557-3

1 Like

Here's the fixed release!

GoldenChaos-BTT 2.557-4 changelog:

  • Removed unwanted keyboard shortcuts that appeared for some reason
  • Multi-account support for Outlook Unread Mail widget
  • Fixed an issue where Astro Unread Mail widget would return missing value
  • Added roundy corner end-caps to browser tab groups
  • Added some padding to browser tab buttons for legibility

Screenshots:

Download: GoldenChaos-BTT 2.557-4

1 Like

New version! Probably one of the biggest yet, a lot going on here. I definitely feel like this is the best version of GC-BTT to date :smile:

GoldenChaos-BTT 2.561 changelog:

  • Fixed padding/spacing for BTT alpha 2.561 (hooooly crap that took a long time, please don't change this again unless you add batch editing controls @Andreas_Hegenberg :stuck_out_tongue:)
  • All-new Bluetooth Toggle button
  • All-new Connect AirPods button
    • Looks for wireless headphones with "AirPods" in the name
    • Added tap again to disconnect
  • Added Connect Beats button
    • Looks for wireless headphones with "Beats" in the name
    • Tap again to disconnect
  • Added Connect Gamepad button
    • Looks for the following controllers in order: SteelSeries Nimbus, Hori Gamepad, Nintendo Switch controllers (Pro Controller/Joy-Cons), Wii Remotes
    • Tap again to disconnect
  • Swapped brightness and volume control positions, added Mute button to option menu (thanks for the suggestion, @whitehusky!)
  • Changed back/forward keys to use cmd+arrows instead of brackets
  • Fixed an issue where the Reminders widget would not output anything
  • Fixed an issue where the Safari Now Playing widget would always be shown
  • Removed back arrow from Emoji widget
  • Weather widget now shows correct current temperature
  • Weather widget now shows correct high and low temperatures for the day
  • Pre-emptively added activated icons for True Tone and Night Shift, will make these work in an upcoming release along with Do Not Disturb and possibly Dark Mode
  • Various other small bug fixes and improvements

Screenshots:

Download: GoldenChaos-BTT 2.561-2

Enjoy, everyone! :smile:

EDIT: Found a bug, fixed it, updated to 2.561-2 :sunglasses:

3 Likes

New version with fixes!

GoldenChaos-BTT 2.561-3 changelog:

  • Date/Time widget will now auto-set the time based on your system settings
  • Fixed an issue where Safari/Chrome Now Playing widgets would only appear if YouTube was playing in the first tab
  • Updated Safari and Chrome Now Playing icons with little YouTube logos in the bottom right corner
  • Fixed Tap to Disconnect not working on various bluetooth widgets

Still working on the new AirPod connect script, this is only slightly more complicated than I thought since to disconnect it has to use the Bluetooth menu but to connect it has to use the Volume menu. Anyways, I should have that working by tomorrow along with enhanced toggle appearances for option menu buttons :slight_smile:

Screenshots:

Download: GoldenChaos-BTT 2.561-3

1 Like

New version! Last one for today, fixing up final bits before the stable release later this week.

@myhouseblewup Two things I found out: (1) it's not possible to tell the UI to click an item in the volume menu bar but turns out it doesn't matter because (2) the original script does work, haha, turns out pairing is just very, very slow and can take multiple attempts. But... that's just the case normally. So just press the button again if they didn't connect. So much for that fancy W1 chip ¯_(ツ)_/¯

Still trying to figure out how to detect True Tone/Night Shift, but that might not be possible without launching system prefs.

GoldenChaos-BTT 2.561-4 changelog:

  • Dark Mode and Do Not Disturb toggle buttons now turn purple when activated
  • Mute button now turns red when system is muted
  • Added Airmail Unread Mail widget
  • Unread Mail widgets all now use the dock badge values to determine whether or not to appear (and display the dock badge value if it exists)
    • You can customize the value your Unread Mail widget displays by changing your mail app's badge settings
    • Any other apps people want to display unread badges for? Now it's possible, so please suggest some!
    • EDIT: HOLY BKLSDFBD GONNA DO MESSAGES BRB

Screenshots:

Download: GoldenChaos-BTT 2.561-4

2 Likes

Actual last new version for the day, I think I've knocked off everything that's been reported now :slight_smile:

GoldenChaos-BTT 2.561-5 changelog:

  • Fixed an issue where Spark Unread Mail would open Astro
  • Added Unread Messages widget
    • Checks the dock badge of Messages.app
  • Added standalone play/pause button for YouTube
    • Only appears when no media players are running and Safari or Chrome is watching a YouTube video

Screenshots:


Download: GoldenChaos-BTT 2.561-5

Now I'm off to bed. Night folks :smile: please report issues and I'll get to 'em in the morning!

EDIT: The dock badge scripts really hammer the dock process, so in the next version I've set the various dock badge widgets to only run if the specified app is also running.

New version! A dock on your Touch Bar?!

GoldenChaos-BTT 2.563 changelog:

  • Unread Mail widgets are now part of the Touch Bar Dock!
  • Also, the Dock is now a thing, and it supports a lot of apps
  • Dock badges use colors associated with their apps
  • Dock badges get number from relevant app's actual dock icon
  • Dock badges appear only on the GC-BTT main screen (so you can still use expanded widgets and modifier menus), docked to the left next to fullscreen/esc
  • Tap on any dock badge to open its parent app
  • Full list of currently supported apps in the Touch Bar Dock:
    • Missed Calls
      • FaceTime
    • Unread Messages
      • iMessage
      • WhatsApp
      • Telegram
      • Skype
      • YakYak
      • Chatty
      • Caprine
      • Goofy
    • Unread Mail
      • Apple Mail
      • Outlook
      • Spark
      • Astro
      • Airmail
      • Boxy
    • Mentions
      • Slack
      • Discord
      • Discord Canary
      • Tweetbot
      • Twitter
    • Notifications
      • Facebook
      • Tumblr

Screenshots:


This isn't new, I just haven't shown off a screenshot of the default set lately and I really like it.


Oh, cool, somebody likes me!


Wow I'm so... POPULAR!!!


Uh okay guys hold on a sec here-

Download: GoldenChaos-BTT 2.563

2 Likes

New version with some fixes :slightly_smiling_face: I'd say this is pretty close to the stable release. I haven't encountered any major issues on my machine so far.

GoldenChaos-BTT 2.563-2 changelog:

  • Improved browser detection for Show Browser Tabs button
  • Added Safari Technology Preview support to Browser Tabs widget
  • Added Polymail, Postbox, and Mailplane support to Touch Bar dock

Download: GoldenChaos-BTT 2.563-2

1 Like

New version! Wrapping up browser support. If no bugs are found in this version before @Andreas_Hegenberg releases the new stable BTT, then I think this is going to be the stable version. It's definitely RC1 material :smile:

EDIT: Oh man I fixed the Now Playing output bug! Now iTunes widgets can display songs even if they have double quotes in them. Updated version to 2.563-4, haha.

If anyone's wondering, I used this code to escape the double quotes:

set aString to trackInfo

set astid to AppleScript's text item delimiters
set AppleScript's text item delimiters to quote
set aString to text items of aString
set AppleScript's text item delimiters to "\\" & quote
set aString to aString as text
set AppleScript's text item delimiters to astid

set trackInfo to aString

GoldenChaos-BTT 2.563-4 changelog:

  • Fixed an issue where song titles with double quotes would break the iTunes Now Playing output
  • Added Chrome Canary support to Browser Tabs widget
  • Added Now Playing support for YouTube as a Fluid app (Try it out! Just create a Fluid app called YouTube :slightly_smiling_face:)
  • Added Twitch support to the Dock

Known issues:

  • The Dock currently consumes a lot of energy, but I don't know why

Screenshots:


Download: GoldenChaos-BTT 2.563-4