Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This project provides an i3 status bar and is written in Racket. It's not super clever but it works. You may want to use this as the basis for your own custom status bar.

The i3 status bar (i3bar) works by reading JSON data and using that data to populate the status bar, the format of this JSON data comprises the i3bar Input Protocol. When i3 starts, it can be configured to also start the script that will provide this data by writing JSON data to standard out. In your i3 configuration file, configure status_command to start i3status.

bar {
    status_command ~/Projects/i3status/
 	tray_output primary

An example shell script is included, called It requires this module and then starts writing JSON data to standard out.

(require (planet cmiles74/i3status:1:4))

(start-status (lambda () (list (mpd)             ;; music player daemon status
                               (mail)            ;; notmuch inbox status
                               (battery-charge)  ;; current battery charge
                               (cpu-time)        ;; CPU load over the last 250ms
                               (system-time))))  ;; current system time

In all cases, these modules have really only been tested on my workstation. I've added optional parameters to the functions that are most likely to need customization in order to work somewhere else. For instance, the path you your laptop's battery status might live somewhere else.

(start-status (lambda () (list (battery-charge
                                #:battery-path "/sys/class/power_supply/BAT0"))))

You can Check out the documentation on the Racket Planet for more information.


Racket project to provide an i3 status bar.



No packages published