Use the Touch Bar on any Mac
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Stuff Add icon to the readme Mar 16, 2017
Touch Bar Simulator.xcodeproj Minor tweaks Oct 4, 2018
Touch Bar Simulator Minor tweaks Oct 4, 2018
.editorconfig Init Mar 15, 2017
.gitattributes Rewrite the app Sep 25, 2018
.gitignore Add build script Mar 27, 2017
.swiftlint.yml Rewrite the app Sep 25, 2018
Cartfile Rewrite the app Sep 25, 2018
Cartfile.resolved Rewrite the app Sep 25, 2018
build Add build script Mar 27, 2017
export-options.plist Add build script Mar 27, 2017
license Meta tweaks Feb 27, 2018
readme.md Fix a link in the readme Oct 14, 2018
screenshot.png Various minor improvements Mar 21, 2017

readme.md

Touch Bar Simulator

Use the Touch Bar on any Mac

Launch the Touch Bar simulator from anywhere without needing to have Xcode installed, whereas Apple requires you to launch it from inside Xcode. It also comes with a handy transparency slider, a screenshot button, and a service to toggle the Touch Bar in the Services menu or with a keyboard shortcut.

You can add a shortcut in System PreferencesKeyboardShortcutsServicesToggle Touch Bar.

Important: If clicking in the simulator or the screenshot button is not working, you need to go to "System Preferences" → "Security & Privacy" → "Accessibility", and ensure "Touch Bar Simulator.app" is checked. If it's already checked, try unchecking and checking it again.

Website    Discuss it on Product Hunt

Check out my other macOS apps

Getting started

Download the latest release


Or install it with Homebrew-Cask:

$ brew cask install touch-bar-simulator

Requires macOS 10.14 or later.

Screenshot

You can capture a screenshot of the Touch Bar by either:

  1. Clicking the screenshot button in the Touch Bar window which saves it to ~/Desktop.
  2. Pressing ⇧⌘6 which saves it to ~/Desktop.
  3. Pressing ⌃⇧⌘6 which saves it to the clipboard.

FAQ

Why is this not on the App Store?

Apple would never allow it as it uses private APIs.

How does this work?

In short, it exposes the Touch Bar simulator from inside Xcode as a standalone app with added features. I class-dumped a private Xcode framework and used that to expose a private class to get a reference to the Touch Bar window controller. I then launch that window and add a screenshot button to it. I've bundled the required private frameworks to make it work without Xcode. That's why the binary is so big.

Xcode 10 moved the required private symbols needed to trigger the Touch Bar simulator into the main IDEKit framework, which has a lot of dependencies on its own. I managed to get it working by including all those frameworks, but the app ended up being 700 MB... I then went back to the drawing board. I discovered a way to communicate with the Touch Bar simulator directly. The result of this is a faster and more stable app.

Build

./build

Related

License

MIT © Sindre Sorhus