Occasionally, Apple does things that make Mac users scratch their heads and wonder “Why did they do that?” That’s the case with the MacBook and MacBook Pro, which lost one important piece of information when macOS Sierra arrived — the estimated hours remaining on the battery (see right image). The indicator simply shows percentage of battery life, without that all-important information on how many hours of work you might be able to complete before needing to plug in again. Fortunately, there’s a way to add that number back in.
How It’s Done
To tweak your operating system just enough to allow you to add the hours remaining number back in, you will need to have some experience and confidence in using the Mac’s Terminal app (get an introduction to Mac Terminal here). What we’ll do is to actually use terminal to issue a few commands to macOS to give us authority to make changes to system files, then replace one file with a revised file that brings back the info we want.
Although this is a safe and tested modification to macOS Sierra, making any changes to your system files can result in an unbootable laptop. Proceed at your own risk, and be sure to have a current backup and knowledge of how to reinstall macOS Sierra before you start.
1) Power up or reboot your MacBook in Recovery Mode. This is done by either turning on the device and immediately holding down Command-R while it starts up, or by selecting Restart from the Apple menu, once again immediately holding down Command-R as the Mac boots. You’ll know you’re successful if a list of macOS Utilities appears on the screen.
2) Now, go to the Utilities menu and select Terminal. Once the Terminal window appears, type in the following command at the command line prompt and press the Return key:
csrutil disable; reboot
What we’re doing here is actually disabling System Integrity Protection (SIP) temporarily so that we can make changes to the operating system. SIP is normally used to prevent other malicious software from making changes to the operating system. Once we’ve disabled SIP, we’re rebooting the system immediately so that we can make our changes.
3) Once the system has rebooted, download this file to your MacBook. This is a zipped archive named Battery.menu; the contents are what we’ll use in place of the existing Battery Menu files. Be sure that the file is “unzipped” prior to proceeding. This Battery.menu file is from an earlier version of the Mac operating system where the hours remaining menu item still existed.
4) In the Finder, select Go > Go to Folder. In the field that appears, type (or copy and paste) the following path:
then click the Go button.
5) A Finder window opens on the screen with a list of the files used to define the Menu Bar items (see image above). Just in case you want to go back to the existing menu at some point, do not delete the Battery.menu item; instead, rename it to Battery_old.menu and leave it in the Menu Extras folder. Note that you’ll be required to enter your admin password to allow Finder to rename this file.
6) Now drag the Battery.menu file that you downloaded in step 3 to the Menu Extras folder. Once again, you’ll need to enter your admin password to allow changes to the Menu Extras folder. When you’re done, you’ll have a file named “Battery_old.menu” (the macOS Sierra version) and another named “Battery.menu” (the version with the hours remaining info that we want) in the folder.
7) Next, launch Terminal by either going to Applications > Utilities > Terminal or by simply pressing Command-Spacebar on your keyboard, then typing in “Terminal”. At the command line prompt, type the following command:
This will reload the system user interface, and if we click on the battery menu item now, we’ll see that the hours remaining are back in the menu (see image below):
8) Now we need to enable SIP again. Note: This is a very important step; neglecting to do this can leave your Mac open to malware attacks it would otherwise be immune to (Related: Do Macs Need Antivirus Or Anti-Malware Software?). Reboot your MacBook, and go into Recover Mode by immediately holding down Command-R on the keyboard. As in step 2, go to the Utilities menu and select Terminal. Once the command line prompt appears, type in:
csrutil enable; reboot
and press the Return key to finish the process.
Let’s hope that the next version of macOS announced at WWDC on Monday brings back the ability to see that time remaining (even if it’s a bad estimate…) without having to go through these steps.