New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

bar-provider

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bar-provider

Easy configuration for LemonBoy's bar

latest
Source
npmnpm
Version
2.0.2
Version published
Maintainers
1
Created
Source

bar-provider

Build Status

This module provides a way to easily define data to be piped into LemonBoy's bar. It depends on generators, so run node with the --harmony flag (or use io.js).

Quickstart

bar.js

var Bar = require('bar-provider');
var bar = new Bar();

bar
	.button('dmenu_run', 'Menu')
	.center(function *() {
		return new Date();
	})
	.interval(1000);

Now you can pipe it to bar

$ node --harmony bar.js | bar

API

This module provides a chainable api to allow easy construction of a bar layout. Whenever any data should be provided to a method, you may pass a string or a generator function returning a string. Any generator function will be run through co and its return value will be rendered.

Adding data

bar.raw(data)

Simply append raw text

bar.left(data)

Prefixes with %{l}

bar.right(data)

Prefixes with %{r}

bar.center(data)

Prefixes with %{c}

bar.color(color, data)

Prefixes with %{F<color>} and postfixes with %{F}

bar.bg(color, data)

Prefixes with %{B<color>} and postfixes with %{B}

bar.button(cmd, data)

Prefixes %{A:<cmd>:} and postfixes with %{A}

Chaining

You may chain all the provided methods. If you omit the data argument, all the chained styles apply at once. So the following will give you blue background AND white text:

bar.bg('blue').color('white', 'Some Data');

while the following will print text on blue background followed by white text:

bar.bg('blue', 'Some Data').color('white', 'Some more Data')

Rendering

bar.render()

Generator function which, when run through co outputs a single line on the console.

bar.renderCo()

bar.render() wrapped via co. This returns immediately.

bar.interval(ms)

Normal function, which calls the render function at each interval.

Custom Styling

To allow styling of data returned from generator functions (think color for battery percentage), each generator function is passed a utility object, containing all the above methods. Simply return the result of a yielded method if neccessary. These may be chained as well

function *getBattery(utils) {
	//somehow get your battery percentage
	var percent = yield getPercentage();
	var color = percent > 50 ? 'green' : 'red';

	return yield utils.color(color, percent);
}

bar.right(getBattery);

Keywords

LemonBoy

FAQs

Package last updated on 14 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts