GoldenChaos-BTT: A complete Touch Bar UI replacement preset

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

Screenshots


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"
	try
		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"
	else
		return "Play"
	end if
else
	return ""
end if

And the rest of the buttons:

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

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

Screenshots

Download: GoldenChaos-BTT 2.628

4 Likes

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!

Screenshots



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 Zoom.us (needs testing)

Screenshots

Download: GoldenChaos-BTT 2.635

2 Likes

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

2 Likes

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

2 Likes

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.

Screenshots





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

Download: GoldenChaos-BTT 2.638

1 Like

New version!

GoldenChaos-BTT 2.639 changelog

  • [Settings] Main Scrollable Container is now called the Home Strip
  • [Settings] Added Home Strip key toggles for Back/Forward, Refresh, and New Tab
  • [Settings] Added default Home Strip settings to built-in presets
  • [Settings] 24-Hour Time will now display the day of the month before the month's name

Coming soon

  • Move remaining legacy settings over to new persistent variable setup
  • Convert empty script widgets to Touch Bar buttons
  • Make dock badges actually click the dock icon instead of launching the app
  • New settings UI using floating HTML view

Screenshots




Download: GoldenChaos-BTT 2.639

New version! On a roll, can't stop won't stop

GoldenChaos-BTT 2.639-2 changelog

  • [Keyboard Shortcuts] Small-step brightness adjustment (⌥⇧☀) now also adjusts the brightness of external displays
  • [Settings] Date Format previews now change dynamically to reflect your Time Format setting
  • [Dock Badges] Dock badges now click the actual dock icon instead of just launching the app
  • [Dock Badges] This means that dock badges actually work with handoff now!!

Notes for testers

  • Yes I know the date format preview doesn't actually change to 24-hour time but it's still technically the correct format even if it's sometimes a measly 12 hours off :stuck_out_tongue:
  • Let me know if any of the new dock badges fail to click their dock icons! I wasn't able to test all of them.

Coming soon

  • Move remaining legacy settings over to new persistent variable setup
  • "Restore Previous Settings" button to restore your "lost" settings after an upgrade
  • Firefox dock badge (not sure if FF even has badges, but why not)
  • Fix for Microphone Mute button failing to mute microphone
  • Convert empty script widgets to Touch Bar buttons
  • New settings UI using floating HTML view

Screenshots


Download: GoldenChaos-BTT 2.639-2

2 Likes

New version!

This version is massive. It contains the "true" settings implementation, a full refactor with persistent variables and a master script to check and reapply all settings. The end result of all of this is that upgrades should finally be totally seamless, with no loss of settings provided you configured GC-BTT using the built-in settings panel.

Additionally, presets have been completely rebuilt to use this new system. All you have to do is set the persistent variables to your liking, then run the "Check All Settings" trigger. This means that presets can be contained in a single AppleScript now, too - check out the example below.

If you've been holding out on trying experimental versions because you didn't want to lose your settings, this is the version to try.

GoldenChaos-BTT 2.639-3 changelog

  • [Settings] Completed transition to persistent variables for all settings
  • [Settings] New preset format contained within a single AppleScript
  • [Settings] Added "Reapply All Settings" button; tap this after you upgrade to restore your settings from a previous version!
  • [Dock Badges] Added Firefox dock badge
  • [Calendar] Calendar widget now respects system time format preference
  • [bananas] huge shout-out to @oldgreydog, whose initial refactor of the Date/Time settings pretty much single-handedly led to the solution for seamless upgrades. amazing work!

Coming soon

  • Fix for Microphone Mute button failing to mute microphone
  • Convert empty script widgets to Touch Bar buttons
  • New settings UI using floating HTML view

Notes for testers

  • Import this version and attempt to restore your settings by tapping "Reapply All Settings" in the GC-BTT Settings menu. Wait for the loading message to disappear (it's pretty slow, so give it a minute), then close GC-BTT Settings to confirm that your settings were reapplied successfully. Report back with results, please!
  • If you make a preset using the new preset format, post it here and I'll include it in GC-BTT! I would love to provide a Community Presets section in GC-BTT itself :slight_smile:

Sample preset

This is the default preset in the new version. It sets the desired persistent variables and then calls the "Check All Settings" named trigger.

-- Default Settings
-- This is a PRESET script, called from group GC-BTT Settings

tell application "BetterTouchTool"
	try
		-- Set Escape Key persistent variables
		set_persistent_string_variable "escKeyStyle" to "combo"
		
		-- Set Calendar App persistent variables
		set_persistent_string_variable "calendarApp" to "fantastical"
		
		-- Set Home Strip persistent variables
		set_persistent_string_variable "showBackForward" to "true"
		set_persistent_string_variable "showRefresh" to "true"
		set_persistent_string_variable "showNewTab" to "true"
		
		-- Set Menu Bar persistent variables
		set_persistent_string_variable "showCollapseMenuBar" to "true"
		set_persistent_string_variable "showSettings" to "false"
		set_persistent_string_variable "showBrowserTabs" to "true"
		set_persistent_string_variable "showEmojiPicker" to "true"
		set_persistent_string_variable "showCurrentLanguage" to "false"
		set_persistent_string_variable "showAppSwitcher" to "false"
		set_persistent_string_variable "showConnectGamepad" to "false"
		set_persistent_string_variable "showConnectBeats" to "false"
		set_persistent_string_variable "showConnectAirPods" to "false"
		set_persistent_string_variable "showBluetooth" to "false"
		set_persistent_string_variable "showWifi" to "false"
		set_persistent_string_variable "showMicrophoneMute" to "true"
		set_persistent_string_variable "showVolumeMute" to "false"
		set_persistent_string_variable "showVolumeDown" to "true"
		set_persistent_string_variable "showVolumeUp" to "true"
		set_persistent_string_variable "showBrightnessDown" to "true"
		set_persistent_string_variable "showBrightnessUp" to "true"
		
		-- Set Date/Time persistent variables
		set_persistent_string_variable "dateSize" to "dynamic"
		set_persistent_string_variable "timeFormat" to "12hour"
		
		-- Set Weather Widget persistent variables
		set_persistent_string_variable "showWeather" to "dynamic"
		
		-- Set Spotlight Key persistent variables
		set_persistent_string_variable "showSpotlight" to "dynamic"
		
		-- Set Siri Key persistent variables
		set_persistent_string_variable "showSiri" to "dynamic"
		
		-- Set Notification Center Key persistent variables
		set_persistent_string_variable "showNotificationCenter" to "dynamic"
		
		-- Set Dock Badge persistent variables
		set_persistent_string_variable "showSafariBadge" to "true"
		set_persistent_string_variable "showSafariPreviewBadge" to "false"
		set_persistent_string_variable "showChromeBadge" to "false"
		set_persistent_string_variable "showChromeCanaryBadge" to "false"
		set_persistent_string_variable "showFirefoxBadge" to "false"
		set_persistent_string_variable "showFaceTimeBadge" to "true"
		set_persistent_string_variable "showiMessageBadge" to "true"
		set_persistent_string_variable "showWhatsAppBadge" to "false"
		set_persistent_string_variable "showTelegramBadge" to "false"
		set_persistent_string_variable "showFranzBadge" to "false"
		set_persistent_string_variable "showSkypeBadge" to "false"
		set_persistent_string_variable "showSkypeBusinessBadge" to "false"
		set_persistent_string_variable "showYakYakBadge" to "false"
		set_persistent_string_variable "showChattyBadge" to "false"
		set_persistent_string_variable "showCaprineBadge" to "false"
		set_persistent_string_variable "showGoofyBadge" to "false"
		set_persistent_string_variable "showAppleMailBadge" to "true"
		set_persistent_string_variable "showOutlookBadge" to "false"
		set_persistent_string_variable "showSparkBadge" to "false"
		set_persistent_string_variable "showAstroBadge" to "false"
		set_persistent_string_variable "showAirmailBadge" to "false"
		set_persistent_string_variable "showPolymailBadge" to "false"
		set_persistent_string_variable "showBoxyBadge" to "false"
		set_persistent_string_variable "showMailplaneBadge" to "false"
		set_persistent_string_variable "showPostboxBadge" to "false"
		set_persistent_string_variable "showTrelloBadge" to "false"
		set_persistent_string_variable "showSlackBadge" to "false"
		set_persistent_string_variable "showDiscordBadge" to "false"
		set_persistent_string_variable "showDiscordCanaryBadge" to "false"
		set_persistent_string_variable "showTweetbotBadge" to "false"
		set_persistent_string_variable "showTwitterBadge" to "false"
		set_persistent_string_variable "showTwitchBadge" to "false"
		set_persistent_string_variable "showFacebookBadge" to "false"
		set_persistent_string_variable "showTumblrBadge" to "false"
		
		-- Refresh the Touch Bar
		trigger_named "Check All Settings"
	end try
end tell

Screenshots


Download: GoldenChaos-BTT 2.639-3

New version!

GoldenChaos-BTT 2.639-4 changelog

  • [Settings] Fixed an issue where toggling certain settings would cause the Touch Bar to go black for several seconds
  • [Settings] Reduced the appearance of graphical artifacts when toggling settings
  • [Settings] Added placeholder progress bar when applying settings (non-functional)

New preset format! (from 2.639-3, but it's still awesome)

GC-BTT 2.639-3 introduced expanded scripting support and a massively streamlined preset format that's easy to duplicate and customize yourself. This is an incredibly powerful way to make GC-BTT bend to your will and do things I never intended it to (in a good way). Please try it out!

Here's what the default preset looks like in the new version. It sets the desired persistent variables and then calls the "Check All Settings" named trigger, which refreshes every widget on the Touch Bar. But look a little closer and you'll see how between here and there you could do a lot more than just setting variables:

-- Default Settings
-- This is a PRESET script, called from group GC-BTT Settings

tell application "BetterTouchTool"
	try
		-- Set Escape Key persistent variables
		set_persistent_string_variable "escKeyStyle" to "combo"
		
		-- Set Calendar App persistent variables
		set_persistent_string_variable "calendarApp" to "fantastical"
		
		-- Set Home Strip persistent variables
		set_persistent_string_variable "showBackForward" to "true"
		set_persistent_string_variable "showRefresh" to "true"
		set_persistent_string_variable "showNewTab" to "true"
		
		-- Set Menu Bar persistent variables
		set_persistent_string_variable "menuBarSize" to "large"
		set_persistent_string_variable "showCollapseMenuBar" to "true"
		set_persistent_string_variable "showSettings" to "false"
		set_persistent_string_variable "showBrowserTabs" to "true"
		set_persistent_string_variable "showEmojiPicker" to "true"
		set_persistent_string_variable "showCurrentLanguage" to "false"
		set_persistent_string_variable "showAppSwitcher" to "false"
		set_persistent_string_variable "showConnectGamepad" to "false"
		set_persistent_string_variable "showConnectBeats" to "false"
		set_persistent_string_variable "showConnectAirPods" to "false"
		set_persistent_string_variable "showBluetooth" to "false"
		set_persistent_string_variable "showWifi" to "false"
		set_persistent_string_variable "showMicrophoneMute" to "true"
		set_persistent_string_variable "showVolumeMute" to "false"
		set_persistent_string_variable "showVolumeDown" to "true"
		set_persistent_string_variable "showVolumeUp" to "true"
		set_persistent_string_variable "showBrightnessDown" to "true"
		set_persistent_string_variable "showBrightnessUp" to "true"
		
		-- Set Date/Time persistent variables
		set_persistent_string_variable "dateSize" to "dynamic"
		set_persistent_string_variable "timeFormat" to "12hour"
		
		-- Set Weather Widget persistent variables
		set_persistent_string_variable "showWeather" to "dynamic"
		
		-- Set Spotlight Key persistent variables
		set_persistent_string_variable "showSpotlight" to "dynamic"
		
		-- Set Siri Key persistent variables
		set_persistent_string_variable "showSiri" to "dynamic"
		
		-- Set Notification Center Key persistent variables
		set_persistent_string_variable "showNotificationCenter" to "dynamic"
		
		-- Set Dock Badge persistent variables
		set_persistent_string_variable "showSafariBadge" to "true"
		set_persistent_string_variable "showSafariPreviewBadge" to "false"
		set_persistent_string_variable "showChromeBadge" to "false"
		set_persistent_string_variable "showChromeCanaryBadge" to "false"
		set_persistent_string_variable "showFirefoxBadge" to "false"
		set_persistent_string_variable "showFaceTimeBadge" to "true"
		set_persistent_string_variable "showiMessageBadge" to "true"
		set_persistent_string_variable "showWhatsAppBadge" to "false"
		set_persistent_string_variable "showTelegramBadge" to "false"
		set_persistent_string_variable "showFranzBadge" to "false"
		set_persistent_string_variable "showSkypeBadge" to "false"
		set_persistent_string_variable "showSkypeBusinessBadge" to "false"
		set_persistent_string_variable "showYakYakBadge" to "false"
		set_persistent_string_variable "showChattyBadge" to "false"
		set_persistent_string_variable "showCaprineBadge" to "false"
		set_persistent_string_variable "showGoofyBadge" to "false"
		set_persistent_string_variable "showAppleMailBadge" to "true"
		set_persistent_string_variable "showOutlookBadge" to "false"
		set_persistent_string_variable "showSparkBadge" to "false"
		set_persistent_string_variable "showAstroBadge" to "false"
		set_persistent_string_variable "showAirmailBadge" to "false"
		set_persistent_string_variable "showPolymailBadge" to "false"
		set_persistent_string_variable "showBoxyBadge" to "false"
		set_persistent_string_variable "showMailplaneBadge" to "false"
		set_persistent_string_variable "showPostboxBadge" to "false"
		set_persistent_string_variable "showTrelloBadge" to "false"
		set_persistent_string_variable "showSlackBadge" to "false"
		set_persistent_string_variable "showDiscordBadge" to "false"
		set_persistent_string_variable "showDiscordCanaryBadge" to "false"
		set_persistent_string_variable "showTweetbotBadge" to "false"
		set_persistent_string_variable "showTwitterBadge" to "false"
		set_persistent_string_variable "showTwitchBadge" to "false"
		set_persistent_string_variable "showFacebookBadge" to "false"
		set_persistent_string_variable "showTumblrBadge" to "false"
		
		-- Refresh the Touch Bar
		trigger_named "Check All Settings"
	end try
end tell

If you make a preset using the new preset format, post it here and I'll include it in GC-BTT! I would love to provide a Community Presets section in GC-BTT itself :slight_smile:

Screenshots

Download: GoldenChaos-BTT 2.639-4

3 Likes

A new stable version of GC-BTT arrives like the sun rises... once a month.

GC-BTT 2.641 represents an absolutely massive leap forward for the preset. There's so much to unpack, but the biggest have to be seamless upgrading and the sparkly new settings menu.

Once you upgrade, any settings you change will be preserved for future releases!

There's also a really cool new connectivity actions widget with headphone connection buttons and an Airplane Mode toggle. Tap and hold on Volume Up to get to it.

Finally, this version is also even more energy efficient than GC-BTT 2.600, ditching the custom Now Playing widget in favor of the newer native implementation. It also trims out extraneous scripts, and there are additional optimizations all over the place. Almost every script has been completely rewritten.

The result is the most flexible and functional GC-BTT - and, I think, the Touch Bar - has ever been, and sets the stage for expanded app support in the versions to come.

A huge thank you to everyone who installed and tested the experimental versions. You made this release amazing. If you think it can't get any better than this... hold on to your butts.

Full changelog below. Enjoy the release, everyone!

GoldenChaos-BTT 2.641 (Stable) changelog

This changelog contains all changes made since the previous stable version, 2.600.

  • [Helper Apps] No longer requires High Sierra Media Key Enabler! Uninstall it, you won't miss it.
  • [Keyboard Shortcuts] New keyboard shortcuts that don't conflict with other apps
    • Press ⌘⌥⇧P to access GC-BTT settings
    • Press ⌘⌥⇧0 to toggle stock Touch Bar UI
    • Small-step brightness adjustment (⌥⇧☀) now also adjusts the brightness of external displays
  • [Gestures] Three-finger swipe now adjusts brightness with small steps
  • [Gestures] Three-finger swipe now adjusts brightness of external displays
  • New GC-BTT Settings Menu
    • Customization options for:
      • Esc key selection
        • Use Combo Esc key
        • Use Normal Esc key
      • Home Strip key toggles
        • Back/Forward
        • Refresh
        • New Tab
      • Default calendar app selection
        • Fantastical
        • Calendar.app
      • Menu Bar icon toggles
        • Enable and disable individual menu bar icons
        • You can even disable the primary menu bar widgets, and they'll still show up when you hold Option.
      • Date/Time formats
        • Pick one of three static date/time formats or use the new Dynamic Date/Time option
        • 24-Hour Time option
      • Spotlight/Siri/Notification Center key settings
        • Set keys to always show, never show, or display dynamically
      • Dock badge toggles
        • Enable and disable individual dock badges
        • Make sure to enable only the dock badges you need, since these cost more energy than other widgets.
    • Seamless upgrades with just a tap with the "Reapply Settings" button
      • 8-step progress bar shows how far along GC-BTT is in restoring your settings or applying a preset
    • GC-BTT Presets! Presets are collections of settings that can be applied all at once.
      • All-new preset format contained within a single AppleScript; make your own and share it here! I'll include it in a future GC-BTT version :slight_smile:
    • Fully scriptable: You can use presets in combination with the new named setting triggers to make GC-BTT bend to your will.
      • For the full list of trigger names, check out the "Other" tab in the BTT preferences
    • Presets included with GC-BTT:
      • Default
        • Apples the "factory default" settings for GC-BTT
      • GC's GC-BTT
        • My personal daily driver made into a preset
  • [Now Playing] Native Now Playing widget with dramatic CPU usage improvements
  • [Calendar] Calendar widget now respects your system time format
  • [Calendar] Calendar widget now displays all-day events
  • [Menu Bar] Collapsible Menu Bar with three sizes
    • Date/Time dynamically reformats to small/medium/large sizes
    • Spotlight/Siri/Notification Center keys dynamically appear/disappear based on menu size
  • New Connectivity Actions modal widget
    • Airplane Mode toggle
    • Wi-Fi Toggle
    • Volume slider with percentage display
    • Connect to AirPods
    • Connect to Beats
    • Connect to Gamepad
  • New Current Language and Language Picker menu bar icon and widget group with flags for 47 different languages
  • [Dock Badges] Dock Badges now work properly with Handoff
  • [Dock Badges] New Dock Badges:
    • Firefox
    • Trello
  • Bug fixes, optimizations, and performance improvements across the board

New preset format!

GC-BTT 2.641 introduces expanded scripting support and a massively streamlined preset format that's easy to duplicate and customize yourself. This is an incredibly powerful way to make GC-BTT bend to your will and do things I never intended it to (in a good way). Please try it out!

Here's what the default preset looks like in the new version. It sets the desired persistent variables and then calls the "Check All Settings" named trigger, which refreshes every widget on the Touch Bar. But look a little closer and you'll see how between here and there you could do a lot more than just setting variables:

-- Default Settings
-- This is a PRESET script, called from group GC-BTT Settings

tell application "BetterTouchTool"
	try
		-- Set Escape Key persistent variables
		set_persistent_string_variable "escKeyStyle" to "combo"
		
		-- Set Calendar App persistent variables
		set_persistent_string_variable "calendarApp" to "fantastical"
		
		-- Set Home Strip persistent variables
		set_persistent_string_variable "showBackForward" to "true"
		set_persistent_string_variable "showRefresh" to "true"
		set_persistent_string_variable "showNewTab" to "true"
		
		-- Set Menu Bar persistent variables
		set_persistent_string_variable "menuBarSize" to "large"
		set_persistent_string_variable "showCollapseMenuBar" to "true"
		set_persistent_string_variable "showSettings" to "false"
		set_persistent_string_variable "showBrowserTabs" to "true"
		set_persistent_string_variable "showEmojiPicker" to "true"
		set_persistent_string_variable "showCurrentLanguage" to "false"
		set_persistent_string_variable "showAppSwitcher" to "false"
		set_persistent_string_variable "showConnectGamepad" to "false"
		set_persistent_string_variable "showConnectBeats" to "false"
		set_persistent_string_variable "showConnectAirPods" to "false"
		set_persistent_string_variable "showBluetooth" to "false"
		set_persistent_string_variable "showWifi" to "false"
		set_persistent_string_variable "showMicrophoneMute" to "true"
		set_persistent_string_variable "showVolumeMute" to "false"
		set_persistent_string_variable "showVolumeDown" to "true"
		set_persistent_string_variable "showVolumeUp" to "true"
		set_persistent_string_variable "showBrightnessDown" to "true"
		set_persistent_string_variable "showBrightnessUp" to "true"
		
		-- Set Date/Time persistent variables
		set_persistent_string_variable "dateSize" to "dynamic"
		set_persistent_string_variable "timeFormat" to "12hour"
		
		-- Set Weather Widget persistent variables
		set_persistent_string_variable "showWeather" to "dynamic"
		
		-- Set Spotlight Key persistent variables
		set_persistent_string_variable "showSpotlight" to "dynamic"
		
		-- Set Siri Key persistent variables
		set_persistent_string_variable "showSiri" to "dynamic"
		
		-- Set Notification Center Key persistent variables
		set_persistent_string_variable "showNotificationCenter" to "dynamic"
		
		-- Set Dock Badge persistent variables
		set_persistent_string_variable "showSafariBadge" to "true"
		set_persistent_string_variable "showSafariPreviewBadge" to "false"
		set_persistent_string_variable "showChromeBadge" to "false"
		set_persistent_string_variable "showChromeCanaryBadge" to "false"
		set_persistent_string_variable "showFirefoxBadge" to "false"
		set_persistent_string_variable "showFaceTimeBadge" to "true"
		set_persistent_string_variable "showiMessageBadge" to "true"
		set_persistent_string_variable "showWhatsAppBadge" to "false"
		set_persistent_string_variable "showTelegramBadge" to "false"
		set_persistent_string_variable "showFranzBadge" to "false"
		set_persistent_string_variable "showSkypeBadge" to "false"
		set_persistent_string_variable "showSkypeBusinessBadge" to "false"
		set_persistent_string_variable "showYakYakBadge" to "false"
		set_persistent_string_variable "showChattyBadge" to "false"
		set_persistent_string_variable "showCaprineBadge" to "false"
		set_persistent_string_variable "showGoofyBadge" to "false"
		set_persistent_string_variable "showAppleMailBadge" to "true"
		set_persistent_string_variable "showOutlookBadge" to "false"
		set_persistent_string_variable "showSparkBadge" to "false"
		set_persistent_string_variable "showAstroBadge" to "false"
		set_persistent_string_variable "showAirmailBadge" to "false"
		set_persistent_string_variable "showPolymailBadge" to "false"
		set_persistent_string_variable "showBoxyBadge" to "false"
		set_persistent_string_variable "showMailplaneBadge" to "false"
		set_persistent_string_variable "showPostboxBadge" to "false"
		set_persistent_string_variable "showTrelloBadge" to "false"
		set_persistent_string_variable "showSlackBadge" to "false"
		set_persistent_string_variable "showDiscordBadge" to "false"
		set_persistent_string_variable "showDiscordCanaryBadge" to "false"
		set_persistent_string_variable "showTweetbotBadge" to "false"
		set_persistent_string_variable "showTwitterBadge" to "false"
		set_persistent_string_variable "showTwitchBadge" to "false"
		set_persistent_string_variable "showFacebookBadge" to "false"
		set_persistent_string_variable "showTumblrBadge" to "false"
		
		-- Refresh the Touch Bar
		trigger_named "Check All Settings"
	end try
end tell

If you make a preset using the new preset format, post it here and I'll include it in GC-BTT! I would love to provide a Community Presets section in GC-BTT itself :slight_smile:

Screenshots


More screenshots coming later today - wanted to get this out as soon as I could!

Download: GoldenChaos-BTT 2.641

1 Like

New experimental version!

Now that I'm all moved in and settled down at my new job, I've finally had time to get back to developing GC-BTT. The next stable release is all about an improved settings menu and initial app support, starting with Photoshop. I've spent a lot of time thinking about how I want to handle switching into and out of third party app controls, and I think I've nailed it (on paper, at least).

This first experimental release is just getting things going again - nothing too "experimental" just yet, so I expect it to be actually quite stable. However, the next few experimental releases will likely be substantially less stable, so you have been warned!

GoldenChaos-BTT 2.667 (Experimental) Changelog

  • [Menu Bar] Added Caffeinate menu bar item
  • [Dock Badges] Dock badges will no longer appear if Do Not Disturb is enabled
  • [Dock Badges] Added MailMate dock badge
  • [Dock Badges] Removed Astro dock badge (app was discontinued)
  • Fixed: Back/Forward buttons not working with Finder
  • Fixed: Franz dock badge would always display "1" even if the app had no badge

Notes for Testers

This is the first release since the introduction of seamless upgrading. Please test seamless upgrading between versions by attempting to restore your settings after upgrading. To upgrade:

  1. Completely remove your existing installation of GC-BTT.
    • Your settings are stored inside BTT, so you won't lose them.
  2. Install this alpha version from the link below.
  3. Open the GC-BTT settings menu and tap "Reapply All Settings".

Screenshots


Download: GoldenChaos-BTT 2.667 (Experimental)

2 Likes

New experimental version! Fixing up some things from yesterday's release, adding in a few things I forgot.

GoldenChaos-BTT 2.669 (Experimental) Changelog

  • [Dock Badges] Badges will now respect Do Not Disturb even if not invoked from GC-BTT
  • [Dock Badges] Separated Do Not Disturb Listener script out from the main Do Not Disturb toggle button so that it can check the system DND setting regularly
  • [Dock Badges] Added missing MailMate badge toggle to the settings menu
  • [Dock Badges] Added Bodo dock badge
  • [Dock Badges] Added Abstract dock badge
  • [Dock Badges] Added Zeplin dock badge

Upgrade Instructions

  1. Completely remove your existing installation of GC-BTT.
    • Your settings are stored inside BTT, so you won't lose them.
  2. Install this alpha version from the link below.
  3. Open the GC-BTT settings menu and tap "Reapply All Settings".

Download: GoldenChaos-BTT 2.669 (Experimental)

New experimental version!

GoldenChaos-BTT 2.669-2 (Experimental) Changelog

  • Restored missing Notification Center key that I totally didn't accidentally delete

Download: GoldenChaos-BTT 2.669-2 (Experimental)

New experimental version! This one is actually experimental - I need feedback!

This update introduces a conditional activation group that will boot you back to the stock Touch Bar only if it thinks that the autofill/autocomplete interface is being shown. I'm not 100% certain if I have the correct selection parameters, but it's a start - and it only works inside Apple's own apps, for now.

This gives you instant access to autocomplete and autofill, as well as the stock emoji picker, three of the only redeeming parts of the standard Touch Bar. As soon as you deselect the text field, GC-BTT comes right back. I've found that disabling Apple's Control Strip entirely provides a better experience.

Please test this behavior and let me know how you feel about the overall experience over in the help & feedback thread :slight_smile:

GoldenChaos-BTT 2.670 (Experimental) Changelog

  • [Autocomplete] Added conditional activation group that temporarily disables BTT if the user is in one of Apple's own apps and has a text area in focus
    • This theoretically gives access to autocomplete, autofill, and the emoji picker from the stock Touch Bar without completely compromising the GC-BTT experience and will need a lot of refinement.

Download: GoldenChaos-BTT 2.670 (Experimental)

1 Like

New version again!

I honestly don't recommend anyone install this, except @Andreas_Hegenberg maybe for troubleshooting . It's a work-in-progress refactor of the menu bar and dock using conditional activation groups so there don't need to be eight copies of the same widget.

It's very fast and uses much less energy. But it's also very buggy and breaks the modifier menu layouts.

You've been warned!!

GoldenChaos-BTT 2.671 (Experimental) Changelog

  • [Autocomplete] Removed autocomplete conditional group for now because the feature was too unreliable.
  • [Menu Bar] Tapping the Browser Tabs widget toggle will now bring your browser into focus
  • [Menu Bar] First iteration of refactor using conditional activation groups to eliminate the need for duplicate widgets
    • Significantly faster and more efficient, but does not currently work properly with modifier menus.
  • [Dock] First iteration of refactor using conditional activation groups to eliminate the need for duplicate widgets
    • The dock didn't really have this problem but this lets me better control when and how it appears.
    • That is, when it works properly.
    • Which it doesn't all the time.

Screenshots of What Dun Broke

This happens because the secondary menu bar items don't know to hide for modifier menus.

The menu bar also will probably disappear after a little while.

There's also no way to leave widget groups like Browser Tabs, Language Picker, etc. once you're in them, because the menu bar does not yet include toggle switches for those groups.

But it's very fast!! Zooooooom.

Download: GoldenChaos-BTT 2.671 (Experimental)

1 Like

New experimental version! It's only slightly less broken than the last one. You could install this and not have a terrible time, I guess.

GoldenChaos-BTT 2.671-2 (Experimental) Changelog

  • [Window Snapping] Added visual window snapper - hold CMD+Shift+W to activate!
    • It's missing some additional hover states for the center, top, left, bottom, and right blocks.
  • [Menu Bar] Improved activation conditions
  • [Escape Keys] Moved Escape Keys to conditional activation group to reduce duplicate widgets
  • [Escape Keys] Made esc also close any currently open widget group since toggles aren't working right now. Might actually keep this behavior, I like it!

Screenshots

17%20AM

Download: GoldenChaos-BTT 2.671-2 (Experimental)

1 Like

New experimental version!

This version introduces the floating HTML settings window. It does away with the on-Touch Bar settings menu entirely in favor of this much more intuitive windowed menu.

However, it's only half-implemented. All of the buttons actually trigger their respective actions (except for some dock badges, oops), but there are no indicators that processes are running, and the switches don't reflect real settings (the active/inactive buttons are hardcoded right now).

GoldenChaos-BTT 2.685 (Experimental) Changelog

  • [Settings] New floating HTML settings window (same shortcut as the old settings menu)
  • [Settings] Deprecated previous settings menu
  • [Window Snapper] Updated window snapper appearance to be consistent with the new settings window
  • [Menu Bar] Secondary menu bar widgets now properly hide on modifier menus

Notes for Testers

You should be able to use Reapply All Settings here to upgrade, even if the progress bar is broken at the moment. Please also try toggling various settings to see if they actually do anything - results have been spotty on my end for anything that isn't reapplying all settings.

Screenshots


Download: GoldenChaos-BTT 2.685 (Experimental)

1 Like