Home

Awesome

AnyBar: OS X menubar status indicator

AnyBar is a small indicator for your menubar that does one simple thing: it displays a colored dot. What the dot means and when to change it is up to you.

<img src="screenshot.png?raw=true" />

Download

Version 0.2.3:

<a href="https://github.com/tonsky/AnyBar/releases/download/0.2.3/AnyBar-0.2.3.zip"><img src="AnyBar/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png?raw=true" style="width: 128px;" width=128/></a>

Or using Homebrew Cask:

brew install --cask anybar

Support us

<a href="https://patreon.com/tonsky" target="_blank"><img src="./anybar_patreon.png"></a>

Usage

AnyBar is controlled via a UDP port (1738 by default). Before any commands can be sent, AnyBar.app must be launched:

open -a AnyBar

Once launched, you may send it a message to change the style of the dot:

echo -n "black" | nc -4u -w0 localhost 1738

If you use bash, you might prefer this instead:

bash -c 'echo -n "black" > /dev/udp/localhost/1738'

The following default commands change the style of the dot:

CommandPreview
white<img src="AnyBar/Resources/white@2x.png?raw=true" width=15 />
red<img src="AnyBar/Resources/red@2x.png?raw=true" width=15 />
orange<img src="AnyBar/Resources/orange@2x.png?raw=true" width=15 />
yellow<img src="AnyBar/Resources/yellow@2x.png?raw=true" width=15 />
green<img src="AnyBar/Resources/green@2x.png?raw=true" width=15 />
cyan<img src="AnyBar/Resources/cyan@2x.png?raw=true" width=15 />
blue<img src="AnyBar/Resources/blue@2x.png?raw=true" width=15 />
purple<img src="AnyBar/Resources/purple@2x.png?raw=true" width=15 />
black<img src="AnyBar/Resources/black@2x.png?raw=true" width=15 />
question<img src="AnyBar/Resources/question@2x.png?raw=true" width=15 />
exclamation<img src="AnyBar/Resources/exclamation@2x.png?raw=true" width=15 />
filled<img src="AnyBar/Resources/filled@2x.png?raw=true" width=15 />
hollow<img src="AnyBar/Resources/hollow@2x.png?raw=true" width=15 />

black and white always has black or white fill. On Big Sur, where text color of menubar might change depending on the wallpaper, you might want to use filled and hollow instead. They are inverted when menubar changes its appearance.

To quit, send quit.

Alternative clients

Bash alias:

$ function anybar { echo -n $1 | nc -4u -w0 localhost ${2:-1738}; }

$ anybar red
$ anybar green 1739

Or with /dev/udp:

function anybar { echo -n $1 > /dev/udp/localhost/${2:-1738}; }

Zsh with completion:

Fish shell with completion:

Go:

Node:

Deno:

PHP:

Java:

Python:

Ruby:

Rust:

Nim:

Erlang:

C:

C#:

Crystal:

Emacs:

AppleScript:

tell application "AnyBar" to set image name to "blue"

tell application "AnyBar" to set current to get image name as Unicode text
display notification current

Alfred:

Integrations

Running multiple instances

You can run several instances of AnyBar as long as they listen on different ports. Use the ANYBAR_PORT environment variable to change the port and open -na to run several instances:

ANYBAR_PORT=1738 open -na AnyBar
ANYBAR_PORT=1739 open -na AnyBar
ANYBAR_PORT=1740 open -na AnyBar

Environment variables to specify a title and the initial color of the dot

A title can be set to distinguish dots in the menubar:

ANYBAR_PORT=1738 ANYBAR_TITLE=First  open -na AnyBar
ANYBAR_PORT=1739 ANYBAR_TITLE=Second open -na AnyBar
ANYBAR_PORT=1740 ANYBAR_TITLE=Third  open -na AnyBar

And the initial color of the dot can also be set:

ANYBAR_INIT=blue open -na AnyBar

Custom images

AnyBar can detect and use local custom images stored in the ~/.AnyBar directory. For example, if you have a ~/.AnyBar/square@2x.png image, send square to port 1738 and it will be displayed. Images should be 19×19 pixels for standard resolution, and 38x38 pixels for retina (@2x).

Ports

License

Copyright © 2015 Nikita Prokopov

Licensed under Eclipse Public License (see LICENSE).