[][src]Crate bitbar

This is bitbar, a library crate which includes helpers for writing BitBar plugins in Rust. The main feature is the Menu type whose Display implementation generates output that conforms to the BitBar plugin API.

Features

The following features can be enabled via Cargo:

  • base64: Adds a depencency to the base64 crate and implements conversion methods from PNG files that aren't already base64-encoded to Images.
  • css-colors: Adds a dependency to the css-colors crate and implements IntoColor for its color types RGB, RGBA, HSL, and HSLA.
  • image: Adds a depencency to the image crate. If the base64 feature is also enabled, implements TryFrom<DynamicImage> for Image.
  • serenity: Adds a dependency to the serenity crate and implements IntoColor for its Colour type.
  • url1: Adds a dependency to the outdated version 1 of the url crate and implements IntoUrl for its Url type.

Example

use bitbar::{Menu, MenuItem};

fn main() {
    print!("{}", Menu(vec![
        MenuItem::new("Title"),
        MenuItem::Sep,
        MenuItem::new("Menu Item")
    ]));
}

Structs

Command

Used by ContentItem::command.

ContentItem

A menu item that's not a separator.

Image

Used by ContentItem::image and ContentItem::template_image.

Menu

A BitBar menu.

Enums

Extra

A menu item's alternate mode or submenu.

MenuItem

A menu item can either be a separator or a content item.

Params

BitBar only supports up to five parameters for bash= commands (see https://github.com/matryer/bitbar/issues/490).

Traits

IntoColor

Used by ContentItem::color.

IntoUrl

Used by ContentItem::href.