barista

module
v0.0.0-...-1143ee3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 23, 2017 License: Apache-2.0

README

Barista

Build Status GoDoc Go Report Card

Barista is an i3 status bar written in golang.

This is not an official Google product

Features

  • Based on push rather than fixed interval polling. Currently only media and volume benefit from this, but this opens the door to async updates from shell scripts, irc, &c.

  • Produces a single binary via go build. This makes it easy to set up the bar executable, since no import paths, environment variables, et al. need to be configured.

  • Good click handlers (especially media and volume), since we can wait for a command and update the bar immediately rather than waiting for the next 'tick'.

  • Configuration is code, providing oodles of customization options without needing myriad configuration options in a file somewhere. If/then/else, loops, functions, variables, and even other go packages can all be used seamlessly.

Usage

See samples/sample-bar.go for a sample bar.

To build your own bar, simply create a package main go file, import and configure the modules you wish to use, and call barista/bar.Run(...).

To show your bar in i3, set the status_command of a bar { ... } section to be the newly built bar binary, e.g.

bar {
  position top
  status_command ~/bin/mybar
  font pango:DejaVu Sans Mono 10
}

See the wiki for more details

Directories

Path Synopsis
Package bar allows a user to create a go binary that follows the i3bar protocol.
Package bar allows a user to create a go binary that follows the i3bar protocol.
Package colors provides helper functions to manage color and color schemes.
Package colors provides helper functions to manage color and color schemes.
modules
base
Package base provides some helpers to make constructing bar modules easier.
Package base provides some helpers to make constructing bar modules easier.
battery
Package battery provides a battery status i3bar module.
Package battery provides a battery status i3bar module.
clock
Package clock displays a clock.
Package clock displays a clock.
counter
Package counter demonstrates an extremely simple i3bar module that shows a counter which can be chnaged by clicking on it.
Package counter demonstrates an extremely simple i3bar module that shows a counter which can be chnaged by clicking on it.
cpuload
Package cpuload implements an i3bar module that shows load averages.
Package cpuload implements an i3bar module that shows load averages.
cputemp
Package cputemp implements an i3bar module that shows the CPU temperature.
Package cputemp implements an i3bar module that shows the CPU temperature.
funcs
Package funcs provides the ability to construct i3bar modules from simple Funcs.
Package funcs provides the ability to construct i3bar modules from simple Funcs.
group
Package group provides a module that "groups" existing modules, and allows expanding/collapsing the group as a whole, or cycling through grouped module.
Package group provides a module that "groups" existing modules, and allows expanding/collapsing the group as a whole, or cycling through grouped module.
media
Package media provides an i3bar module for an MPRIS-compatible media player.
Package media provides an i3bar module for an MPRIS-compatible media player.
meminfo
Package meminfo provides an i3bar module that shows memory information.
Package meminfo provides an i3bar module that shows memory information.
multi
Package multi provides the ability for a single source to update multiple outputs.
Package multi provides the ability for a single source to update multiple outputs.
netspeed
Package netspeed provides an i3bar module to display network utilisation.
Package netspeed provides an i3bar module to display network utilisation.
reformat
Package reformat provides a module that "wraps" an existing module and transforms it's output.
Package reformat provides a module that "wraps" an existing module and transforms it's output.
shell
Package shell provides modules to display the output of shell commands.
Package shell provides modules to display the output of shell commands.
sysinfo
Package sysinfo implements i3bar modules that show system information.
Package sysinfo implements i3bar modules that show system information.
volume
Package volume provides an i3bar module that interfaces with alsa to display and control the system volume.
Package volume provides an i3bar module that interfaces with alsa to display and control the system volume.
vpn
Package vpn provides an i3bar module for openvpn information.
Package vpn provides an i3bar module for openvpn information.
weather
Package weather provides an i3bar module that displays weather info.
Package weather provides an i3bar module that displays weather info.
weather/darksky
Package darksky provides weather using the Dark Sky API, available at https://darksky.net/.
Package darksky provides weather using the Dark Sky API, available at https://darksky.net/.
weather/metar
Package metar provides weather using the METAR API from the NOAA Aviation Digital Data Service, available at https://www.aviationweather.gov/.
Package metar provides weather using the METAR API from the NOAA Aviation Digital Data Service, available at https://www.aviationweather.gov/.
weather/openweathermap
Package openweathermap provides weather using the OpenWeatherMap API, available at https://openweathermap.org/api.
Package openweathermap provides weather using the OpenWeatherMap API, available at https://openweathermap.org/api.
weather/wunderground
Package wunderground provides weather using the Weather Underground API, available at https://www.wunderground.com/weather/api/.
Package wunderground provides weather using the Weather Underground API, available at https://www.wunderground.com/weather/api/.
wlan
Package wlan provides an i3bar module for wireless information.
Package wlan provides an i3bar module for wireless information.
Package outputs provides helper functions to construct bar.Outputs.
Package outputs provides helper functions to construct bar.Outputs.
Package pango provides a type-safe way to construct pango markup.
Package pango provides a type-safe way to construct pango markup.
icons
Package icons provides an interface for using icon fonts in a bar.
Package icons provides an interface for using icon fonts in a bar.
icons/fontawesome
Package fontawesome provides support for FontAwesome Icons from https://github.com/FortAwesome/Font-Awesome
Package fontawesome provides support for FontAwesome Icons from https://github.com/FortAwesome/Font-Awesome
icons/ionicons
Package ionicons provides support for Ionicicons from https://github.com/driftyco/ionicons
Package ionicons provides support for Ionicicons from https://github.com/driftyco/ionicons
icons/material
Package material provides support for Google's Material Design Icons from https://github.com/google/material-design-icons
Package material provides support for Google's Material Design Icons from https://github.com/google/material-design-icons
icons/material_community
Package materialCommunity provides support for the community fork "Material Design Icons" from https://materialdesignicons.com/
Package materialCommunity provides support for the community fork "Material Design Icons" from https://materialdesignicons.com/
icons/typicons
Package typicons provides support for Typicons from https://github.com/stephenhutchings/typicons.font
Package typicons provides support for Typicons from https://github.com/stephenhutchings/typicons.font
sample-bar demonstrates a sample i3bar built using barista.
sample-bar demonstrates a sample i3bar built using barista.
testing
mockio
Package mockio provides infinite streams that can be used for testing stdin/stdout.
Package mockio provides infinite streams that can be used for testing stdin/stdout.
module
Package module provides a test module that can be used in tests.
Package module provides a test module that can be used in tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL