Skip to content

Latest commit

 

History

History
66 lines (43 loc) · 1.51 KB

File metadata and controls

66 lines (43 loc) · 1.51 KB

Clark

Clark is a daemon implementing the i3bar protocol.

Docs: godoc

Build: CircleCI

Overview

Clark implements 100% of the i3bar protocol, including click events.

Clark implements all the vanilla blocks we would expect in a status bar:

  • Battery Status/Charge Percentage
  • Cpu loads
  • Memory Usage
  • Network I/O
  • Clock

Clark has no configuration files and is designed to be small and hackable. It has a suckless style config.h (conf/conf.go) and (colors/colors.go).

Clark has an asynchronous architecture.

  • Strictly one goroutine per block
  • Click events are handled in the same goroutine as block writing

Install

To install clark

$ go get github.com/jameswelchman/clark

This should clone this repo and build a clark binary. See documentation about go get for more details. It probably installed clark to $HOME/go/bin/clark.

Debugging

All errors are written to stderr. This is a snippet from my i3 config. Note the commented out line.

bar {
   status_command /home/james/go/bin/clark
   # status_command /home/james/bin/clark_debug.sh
}

And the contents of /home/james/bin/clark_debug.sh.

#!/usr/bin/env bash

/home/james/go/bin/clark 2> /tmp/clark_error.log

TODO

  1. ArchLinux pacman block
  2. i3 current-window and current-layout block
  3. PulseAudio block