Awesome Open Source
Awesome Open Source


EnergyBar ยท Supercharge your Mac's Touch Bar

Icon by Georg Bednorz

EnergyBar replaces your Mac's Touch Bar with a collection of widgets, such as a Dock or a "Now Playing" widget. The goal of EnergyBar is to maximize the Touch Bar's usability, while minimizing some of its flaws such as inadvertent tapping.


The default placement of EnergyBar widgets allows for consistency and memorization of your Touch Bar use. The areas around the Esc key and above the Delete key have been kept non-functional to alleviate the problem of inadvertent tapping. At the same time EnergyBar allows for customization so that you only have your favorite widgets visible.




  • Shows your applications, folders and trash can.
  • Tap items on the Dock to launch your applications or access your folders and trash can.
  • Alternatively click items on the Dock using your mouse. You can even drag files to it and it will do the right thing!
  • Hide the system Dock to regain valuable screen real estate.

Active App


  • Shows the currently active app on your Mac.
  • This is a display widget that is also used to occupy space that is often tapped inadvertently.

Now Playing


  • Shows the currently playing track and artist.
  • Can be configured to show the Active App on tap.
  • Can be configured to show the TODO widget on tap.
  • Long press to launch the current media player.



  • Shows the next TODO item from your reminders or calendar events.
  • Can be incorporated into the Now Playing widget to preserve space.
  • Long press to launch the Reminders or Calendar app.



  • Shows common keyboard controls: play/pause, brightness, volume, mute.
  • Press and hold the play/pause button to skip backward/forward.
  • Press and hold the brightness and volume buttons to change their value in one action.



  • Shows the current weather at your location (requires Location Services).
  • Uses Apple's private frameworks so you will get the same weather as the one in Notification Center.


Clock ClockBattery

  • Shows the current time and optionally the battery status.
  • Can be configured to show the weather on tap.
  • Long press to launch the EnergyBar Settings.
  • This is a display widget that is also used to occupy space that is often tapped inadvertently.

Touch Bar Customization


To customize your touch bar press the "Customize Touch Bar" button in the Energy Bar Settings. To open the Settings window simply double-click on the EnergyBar application in the Finder or long press on the Clock widget.

Developer Notes

The project source code is organized as follows:

How to add a Widget

Adding a widget is fairly simple:

  • Create a class named XxxxWidget that derives from NSCustomTouchBarItem or the convenience class CustomWidget. It is important that the class name ends in Widget.
  • Add the class name (without the Widget part) to -[AppBarController awakeFromNib].
  • Implement your widget.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Objective C (110,741)ย 
Macos (8,819)ย 
Widget (1,853)ย 
Touchbar (139)ย 
Related Projects
Advertising ๐Ÿ“ฆย 9
All Projects
Application Programming Interfaces ๐Ÿ“ฆย 120
Applications ๐Ÿ“ฆย 181
Artificial Intelligence ๐Ÿ“ฆย 72
Blockchain ๐Ÿ“ฆย 70
Build Tools ๐Ÿ“ฆย 111
Cloud Computing ๐Ÿ“ฆย 79
Code Quality ๐Ÿ“ฆย 28
Collaboration ๐Ÿ“ฆย 30
Command Line Interface ๐Ÿ“ฆย 48
Community ๐Ÿ“ฆย 81
Companies ๐Ÿ“ฆย 60
Compilers ๐Ÿ“ฆย 60
Computer Science ๐Ÿ“ฆย 74
Configuration Management ๐Ÿ“ฆย 39
Content Management ๐Ÿ“ฆย 167
Control Flow ๐Ÿ“ฆย 197
Data Formats ๐Ÿ“ฆย 77
Data Processing ๐Ÿ“ฆย 266
Data Storage ๐Ÿ“ฆย 132
Economics ๐Ÿ“ฆย 60
Frameworks ๐Ÿ“ฆย 198
Games ๐Ÿ“ฆย 122
Graphics ๐Ÿ“ฆย 103
Hardware ๐Ÿ“ฆย 148
Integrated Development Environments ๐Ÿ“ฆย 47
Learning Resources ๐Ÿ“ฆย 147
Legal ๐Ÿ“ฆย 28
Libraries ๐Ÿ“ฆย 119
Lists Of Projects ๐Ÿ“ฆย 21
Machine Learning ๐Ÿ“ฆย 336
Mapping ๐Ÿ“ฆย 61
Marketing ๐Ÿ“ฆย 15
Mathematics ๐Ÿ“ฆย 55
Media ๐Ÿ“ฆย 228
Messaging ๐Ÿ“ฆย 97
Networking ๐Ÿ“ฆย 304
Operating Systems ๐Ÿ“ฆย 84
Operations ๐Ÿ“ฆย 120
Package Managers ๐Ÿ“ฆย 52
Programming Languages ๐Ÿ“ฆย 229
Runtime Environments ๐Ÿ“ฆย 96
Science ๐Ÿ“ฆย 42
Security ๐Ÿ“ฆย 375
Social Media ๐Ÿ“ฆย 26
Software Architecture ๐Ÿ“ฆย 70
Software Development ๐Ÿ“ฆย 68
Software Performance ๐Ÿ“ฆย 57
Software Quality ๐Ÿ“ฆย 127
Text Editors ๐Ÿ“ฆย 45
Text Processing ๐Ÿ“ฆย 131
User Interface ๐Ÿ“ฆย 310
User Interface Components ๐Ÿ“ฆย 465
Version Control ๐Ÿ“ฆย 29
Virtualization ๐Ÿ“ฆย 68
Web Browsers ๐Ÿ“ฆย 38
Web Servers ๐Ÿ“ฆย 25
Web User Interface ๐Ÿ“ฆย 194