All Projects → brianmichel → Juice

brianmichel / Juice

Make your battery information a bit more interesting.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Juice

HeartBattery
❤️ display the OS X battery state as hearts in the menubar
Stars: ✭ 17 (-97.53%)
Mutual labels:  menubar, battery
Sensors
A macOS application displaying the thermal, voltage and current sensor values.
Stars: ✭ 70 (-89.83%)
Mutual labels:  apple, battery
Quickeys
A mac menu bar app that provides note taking functionality though a quick dropdown menu.
Stars: ✭ 54 (-92.15%)
Mutual labels:  menubar, apple
Stats
macOS system monitor in your menu bar
Stars: ✭ 7,134 (+936.92%)
Mutual labels:  battery, menubar
Openwifipass
An open source implementation of Apple's Wi-Fi Password Sharing protocol in Python.
Stars: ✭ 607 (-11.77%)
Mutual labels:  apple
Simulated Unsupervised Tensorflow
TensorFlow implementation of "Learning from Simulated and Unsupervised Images through Adversarial Training"
Stars: ✭ 558 (-18.9%)
Mutual labels:  apple
Opendrop
An open Apple AirDrop implementation written in Python
Stars: ✭ 5,505 (+700.15%)
Mutual labels:  apple
Icepa
iOS system-wide VPN based Tor client
Stars: ✭ 519 (-24.56%)
Mutual labels:  apple
Brisk
A macOS app for submitting radars
Stars: ✭ 659 (-4.22%)
Mutual labels:  apple
Swiftystorekit
Lightweight In App Purchases Swift framework for iOS 8.0+, tvOS 9.0+ and macOS 10.10+ ⛺
Stars: ✭ 5,796 (+742.44%)
Mutual labels:  apple
Haptica
Easy Haptic Feedback Generator 📳
Stars: ✭ 587 (-14.68%)
Mutual labels:  apple
Awesome Coreml Models
Largest list of models for Core ML (for iOS 11+)
Stars: ✭ 5,192 (+654.65%)
Mutual labels:  apple
Swcrypt
RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and OS X
Stars: ✭ 632 (-8.14%)
Mutual labels:  apple
Temps
Simple menubar application based on Electron with actual weather information and forecast.
Stars: ✭ 553 (-19.62%)
Mutual labels:  menubar
About Swiftui
Gathering all info published, both by Apple and by others, about new framework SwiftUI.
Stars: ✭ 5,954 (+765.41%)
Mutual labels:  apple
Docker Timemachine
A docker container that compiles the lastest Netatalk to run a Time Machine server.
Stars: ✭ 542 (-21.22%)
Mutual labels:  apple
Assistantkit
Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift.
Stars: ✭ 569 (-17.3%)
Mutual labels:  battery
Macos
macOS theme for Gnome and GTK-based desktops
Stars: ✭ 641 (-6.83%)
Mutual labels:  apple
Ios
Most usable tools for iOS penetration testing
Stars: ✭ 563 (-18.17%)
Mutual labels:  apple
Owl
An open Apple Wireless Direct Link (AWDL) implementation written in C
Stars: ✭ 561 (-18.46%)
Mutual labels:  apple

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].