Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tonsky/AnyBar

OS X menubar status indicator
https://github.com/tonsky/AnyBar

Last synced: 10 days ago
JSON representation

OS X menubar status indicator

Awesome Lists containing this project

README

        

# 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.

## Download

Version 0.2.3:

Or using [Homebrew Cask](https://github.com/Homebrew/homebrew-cask):

brew install --cask anybar

## Support us

## Usage

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

```sh
open -a AnyBar
```

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

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

If you use bash, you might prefer this instead:

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

The following default commands change the style of the dot:

| Command | Preview |
|---------------|---------------------------------------------------------------------|
| `white` | |
| `red` | |
| `orange` | |
| `yellow` | |
| `green` | |
| `cyan` | |
| `blue` | |
| `purple` | |
| `black` | |
| `question` | |
| `exclamation` | |
| `filled` | |
| `hollow` | |

`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:

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

$ anybar red
$ anybar green 1739
```

Or with /dev/udp:

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

Zsh with completion:

- [wookayin/anybar-zsh](https://github.com/wookayin/anybar-zsh)

Fish shell with completion:

- [matchai/anybar-fish](https://github.com/matchai/anybar-fish)

Go:

- [justincampbell/anybar](https://github.com/justincampbell/anybar)
- [johntdyer/anybar-go](https://github.com/johntdyer/anybar-go)

Node:

- [rumpl/nanybar](https://github.com/rumpl/nanybar)
- [sindresorhus/anybar](https://github.com/sindresorhus/anybar)
- [snippet by skibz](https://github.com/tonsky/AnyBar/issues/11)

Deno:

- [pumpncode/anybar](https://github.com/pumpncode/anybar)

PHP:

- [2bj/Phanybar](https://github.com/2bj/Phanybar)

Java:

- [cs475x/AnyBar4j](https://github.com/cs475x/AnyBar4j)

Python:

- [philipbl/pyanybar](https://github.com/philipbl/pyAnyBar)

Ruby:

- [davydovanton/AnyBar_rb](https://github.com/davydovanton/AnyBar_rb)

Rust:

- [urschrei/rust_anybar](https://github.com/urschrei/rust_anybar)
- [Feliix42/anybar-rs](https://github.com/Feliix42/anybar-rs)

Nim:

- [rgv151/anybar.nim](https://github.com/rgv151/anybar.nim)

Erlang:

- [kureikain/ebar](https://github.com/kureikain/ebar)

C:

- [onderweg/anybar-cli](https://github.com/onderweg/anybar-cli)

C#:

- [jenyayel/anybar-client](https://github.com/jenyayel/anybar-client)

Crystal:
- [davydovanton/AnyBar_cr](https://github.com/davydovanton/AnyBar_cr)

Emacs:

- [rmuslimov/anybar.el](https://gist.github.com/rmuslimov/2d74cacd5e0ae827663e)
- [tie-rack/anybar-el](https://github.com/tie-rack/anybar-el) (Also on [Melpa](https://melpa.org/#/anybar))

AppleScript:

```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:

- [https://github.com/raguay/MyAlfred](https://github.com/raguay/MyAlfred/blob/master/Alfred%204/AnyBar%20Workflow.alfredworkflow)

## Integrations

- Webpack build status plugin [roman01la/anybar-webpack](https://github.com/roman01la/anybar-webpack)
- boot-clj task [tonsky/boot-anybar](https://github.com/tonsky/boot-anybar)
- Idea plugin [denofevil/AnyBarIdea](https://github.com/denofevil/AnyBarIdea)
- Anybar-based CLI journal [Andrew565/anybar-icon-journal](https://github.com/Andrew565/anybar-icon-journal)
- Command monitoring [rvirani1/with_anybar](https://github.com/rvirani1/with_anybar)
- Monitor commands automatically, across several iterm tabs [stacycurl/anybar_bash](https://github.com/stacycurl/anybar-bash)
- Extension for ipython/jupyter/ipython notebook [ermakovpetr/ipython-anybar](https://github.com/ermakovpetr/ipython-anybar)

## 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:

```sh
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:

```sh
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:

```sh
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/[email protected]` 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

- Ubuntu Unity [limpbrains/somebar](https://github.com/limpbrains/somebar)
- i3wm with i3pystatus [enkore/i3pystatus](https://github.com/enkore/i3pystatus)
- Windows 10 [PavelStefanov/NoteBar](https://github.com/PavelStefanov/NoteBar)
- Emacs [plexus/.../emybar.el](https://github.com/plexus/plexmacs/blob/master/emybar/emybar.el)

## License

Copyright © 2015 Nikita Prokopov

Licensed under Eclipse Public License (see [LICENSE](LICENSE)).