Make your battery information a bit more interesting.

Overview

Juice ⚡️

Make your battery information a bit more interesting by making your own measurement scale instead of a boring battery indicator.

I was browsing Tumblr one day and saw Cyle make a post about this:

This got me to thinking if something like that was possible from the frameworks that Apple gives us developers. As it turns out the IOKit framework provides a wealth of information and triggers about what's going on with your computer. With this framework you can get power source information and generate callback when values of these sources change!

Going a step further, I wanted to define a format that would allow for people to create their own scales! Which you can now do, but it's strings only for the time being.

Screenshots

Installation

You can either compile the app through Xcode with the sources, or downloaded the latest binary that has been released here

Adding A Scale

  1. Go to preferences and click the "Add New Scale", this will attempt to create and open a new plist file that can be used by Juice to load a custom scale. The structure of the plist is described below
  2. Make the desired changes to your scale plist in your favorite text editor and save.
  3. Go to preferences and rescan for scales, you should now see the title of the scale you just created in the drop down list of scales to pick from.

Plist Format

The format currently used to load custom scales is a simple plist file, let's look at the structure of the document:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>default</key>
	<string>Edit The Default Value To Show</string>
	<key>detents</key>
	<dict>
		<key>0</key>
		<string>Edit Me, I'll be triggered from 0 to 10%</string>
		<key>1</key>
		<string>Edit Me, I'll be triggered from 10 to 20%</string>
		<key>2</key>
		<string>Edit Me, I'll be triggered from 20 to 30%</string>
		<key>3</key>
		<string>Edit Me, I'll be triggered from 30 to 40%</string>
		<key>4</key>
		<string>Edit Me, I'll be triggered from 40 to 50%</string>
		<key>5</key>
		<string>Edit Me, I'll be triggered from 50 to 60%</string>
		<key>6</key>
		<string>Edit Me, I'll be triggered from 60 to 70%</string>
		<key>7</key>
		<string>Edit Me, I'll be triggered from 70 to 80%</string>
		<key>8</key>
		<string>Edit Me, I'll be triggered from 80 to 90%</string>
		<key>9</key>
		<string>Edit Me, I'll be triggered from 90 to 100%</string>
	</dict>
	<key>title</key>
	<string>Edit The Title</string>
</dict>
</plist>
Key Name Value Type Description
default String The default value to be shown if Juice can't figure out what's going on with the power source
detents Dictionary<String, String> A mapping of detents (steps in the charge ratio) to string values to show to the user
title String The title of the scale to be displayed in the preference UI

NOTE: The name of the plist file you save should be unique, by default UUID's are generated as the name of files if you create a scale through the UI.

If you'd like to drop your own plist to be used by the application, new files can be dropped into the ~/Library/Containers/com.bsm.macos.Juice/Data/Library/Application Support/Juice folder.

✌️

Feel free to contribute by making a pull request and I'll take a look when I can! If you'd like to reach me, feel free to hit me up on Twitter @brianmichel.

Issues
  • Translation

    Translation

    Finish to translate en to fr

    Translate en to chinese thanks to Zhilian DAI :) 👍

    opened by bnoufel 12
  • translate en to fr

    translate en to fr

    It's done

    opened by bnoufel 7
  • Translate Juice to fr

    Translate Juice to fr

    Hi,

    I Have translate this app to FR

    opened by bnoufel 6
  • Add Emoji Hands for scale

    Add Emoji Hands for scale

    I believe I've done all of this correctly - the only think I'm unsure about is the detents within the addition but otherwise, let me know what you think!

    opened by 3raxton 6
  • Can I use juice on mac OS 10.11.6?

    Can I use juice on mac OS 10.11.6?

    None

    opened by DonaldDai 6
  • Windows Version?

    Windows Version?

    Any plan to add a Windows version for this project?

    opened by Riajyuu 5
  • Add option to launch at login

    Add option to launch at login

    Would be useful to have a checkbox to let Juice launch at login, as it didn't seem to launch when I checked.

    enhancement 
    opened by sebj 4
  • Add EmojiHands.plist

    Add EmojiHands.plist

    Hey, Brian - I am who mentioned you last night on Twitter about the plist. I have no idea where this should be committed so for the time being it is in the master. If you'd like I could change the potentially offensive 0% - 10% trigger as well as add other plists for all skin tones.

    Great project, I absolutely love it!

    opened by 3raxton 3
  • Add edit

    Add edit

    Just opens the current selected file.

    Caveat: Some of the pre-existing plists (the ones you've made default) don't seem to open.

    Can't figure out why but I gotta run for now. Will check it later if you haven't.

    For #4

    opened by VicV 2
  • Emoji doesn't replace current battery indicator!

    Emoji doesn't replace current battery indicator!

    Installed it through the binary release. Although I noticed that the Emoji does not replace the already existing battery indicator!. Is this the intended behaviour? (I assumed it would replace it).

    See screenshot for reference: screen shot 2016-12-19 at 5 03 43 pm

    opened by Monte9 2
  • Icon not dimmed when using multiple displays

    Icon not dimmed when using multiple displays

    Hi Briaaaaaaaaan! 👋 ❤️

    Today I noticed that the Juice icon doesn't dim when you're using multiple displays and the focus is on a different display.

    Screenshot_2_20_20__3_35_PM

    macOS Mojave 10.14.6

    opened by heylookltsme 1
  • Spelling Error

    Spelling Error

    In preferences menu: Launch option - The word "automatically" is spelled wrong :)

    screen shot 2017-01-03 at 12 20 12 pm
    opened by eldobbso 1
  • Homebrew / Cask

    Homebrew / Cask

    Hi, this is a really tweak, maybe consider adding it Homebrew? :)

    enhancement 
    opened by rpunkfu 7
  • Emojis a little too bright

    Emojis a little too bright

    Emojis looks too bright as you can see on the picture below, it's translucid and then when I click on it the emoji loose its transparency so it looks better imo Maybe because I don't have a Retina display?

    capture d ecran 2016-12-26 a 17 48 35

    opened by sheita 4
  • Allow editing of created scales from the UI.

    Allow editing of created scales from the UI.

    Not sure if I'm missing something here.

    But the ability to edit scales would be nice.

    Had to redo a full scale because I misspelled something and didn't read the docs to find where I saved the plist.

    enhancement 
    opened by VicV 6
  • Charging Status Indicator

    Charging Status Indicator

    To ape the built in battery status indicator, it'd be great if I could tell if my laptop was charging just by looking at the status bar.

    enhancement 
    opened by brianmichel 3
  • Image Status Indicators

    Image Status Indicators

    It'd be nice to be able to include images as the value of a detent to make fun custom indicators.

    enhancement 
    opened by brianmichel 0
Releases(builds/beta/2017.06.08170217)
Owner
Brian Michel
Software is cool, currently @cashapp, formerly @twitter, @andofood, and @tumblr
Brian Michel
macOS app that contains a full Ruby installation (for use with Ruby/Gosu)

Ruby.app Universal application wrapper to deploy Ruby apps on OS X (using MRI/C Ruby, not MacRuby or JRuby). So far, it has only been used to release

The Gosu Library 34 Jan 17, 2021
:closed_book: Swift Logging Utility for Xcode Google Docs

QorumLogs Swift Logging Utility in Xcode & Google Docs Log Levels class MyAwesomeViewController: UIViewController { override func viewDidLoad() {

Goktug Yilmaz 782 Jul 16, 2021
Frugal and native macOS Syncthing application bundle

Syncthing for macOS Introduction syncthing-macos project is a native macOS Syncthing tray application bundle. It bundles its own syncthing instance an

The Syncthing Project 1.2k Aug 2, 2021
SoundCloud for macOS and Windows

What is SoundCleod? SoundCleod is a desktop application which brings SoundCloud to macOS and Windows without using a web browser. Compared to using So

Márton Salomváry 949 Jul 28, 2021
Convenient secure logging during development release in Swift 3, 4 5

Colorful, flexible, lightweight logging for Swift 3, Swift 4 & Swift 5. Great for development & release with support for Console, File & cloud platfor

SwiftyBeaver 5.3k Jul 30, 2021
A minimal, beautifully designed music player for OS X.

Sonora A minimal, beautifully designed music player for the Mac Developed by Indragie Karunaratne Designed by Tyler Murphy Sonora (previously sold on

Sonora for Mac 925 Jul 26, 2021
Create native Mac applications from command line scripts.

Platypus Platypus is a developer tool that creates native Mac applications from command line scripts such as shell scripts or Python, Perl, Ruby, Tcl,

Sveinbjorn Thordarson 1.8k Jul 26, 2021
MacOS Big Sur like theme for Gnome desktops

MacOS Big Sur like theme for Gnome desktops

Vince 1.5k Jul 29, 2021
Catch: Broadcatching made easy.

Catch: Broadcatching made easy. Catch is the easiest way to do broadcatching on the Mac. Just add your feeds and new episodes will be downloaded as th

Giorgio Calderolla 387 Jul 21, 2021
Manage your vagrant machines in one place with Vagrant Manager for OS X

Looking for the Windows version? Check out Vagrant Manager for Windows Vagrant Manager for OS X Vagrant Manager is an OS X status bar menu app that le

Lanayo Technology 1.9k Jul 19, 2021
Apple TV Aerial Screensaver for Mac

Aerial - Apple TV Aerial Views Screen Saver Aerial is a Mac screensaver (macOS 10.12 or later) based on the new Apple TV screensaver that displays the

John Coates 19.4k Jul 29, 2021
💻 Democratizing Snippet Management (macOS/Win/Linux)

To Lepton users around the world in more than 130 countries: We hope you all stay safe, healthy, and strong as we get through the COVID-19 pandemic. L

CosmoX 8.7k Aug 4, 2021
A cross-platform Reddit client built in SwiftUI

A cross-platform Reddit client created in SwiftUI. Get the Public Beta Note: This project is far from complete. It still lacks many features of your t

Carson Katri 1k Aug 4, 2021
GUI image optimizer for Mac

ImageOptim ImageOptim is a GUI for lossless image optimization tools: Zopfli, PNGOUT, OxiPNG, AdvPNG, PNGCrush, JPEGOptim, Jpegtran, Guetzli, Gifsicle

ImageOptim 7.2k Jul 28, 2021