Giter Site home page Giter Site logo

jadegeek / touch-bar-simulator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sindresorhus/touch-bar-simulator

0.0 1.0 0.0 21.72 MB

Use the Touch Bar on any Mac

Home Page: https://sindresorhus.com/touch-bar-simulator

License: MIT License

Objective-C 1.22% Swift 97.65% Shell 1.12%

touch-bar-simulator's Introduction

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 menu bar icon and system service to toggle the Touch Bar with a click or keyboard shortcut.

Important: There is a problem with using this on Catalina. If you launch Xcode or relaunch Touch Bar Simulator, you will no longer be able to interact (click) with the Touch Bar view until you restart your computer. Which is not ideal. So if you want to use this reliably; don't launch Xcode and don't restart this app.

Clicking the menu bar icon toggles the Touch Bar window.

Right-clicking or option-clicking the menu bar icon displays a menu with options to dock the window to the top or bottom of the screen, make it show on all desktops at once, access toolbar features in docked mode, automatically show and hide the Touch Bar, or quit the app.

Getting started

Download the latest release

Or install it with Homebrew-Cask:

$ brew install touch-bar-simulator

Requires macOS 10.15 or later.

Screenshot

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

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

FAQ

Clicking in the simulator window is not working

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.

Why is this not on the App Store?

Apple would never allow it as it uses private APIs.

Can I set a keyboard shortcut?

Right-click or option-click the menu bar icon, select “Keyboard Shortcuts…”, and add your shortcut.

Can I contribute localizations?

No, we're not interested in localizing the app.

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

Maintainers

touch-bar-simulator's People

Contributors

artdevjs avatar indexerrowaty avatar mortennn avatar petapton avatar sindresorhus avatar thatsjustcheesy avatar yycking avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.