Image credit: analognowhere.com

Tarme

Tarme is a status generator for panels using the i3bar/swaybar protocol, written and configured in CHICKEN Scheme.

Screenshot of Tarme

Get it on Codeberg

What’s Missing

Dependencies

The included example config has extra dependencies.

Building

Simply compile tarme.scm using csc.

$ csc tarme.scm

Alternatively, you may run Tarme interpreted using csi.

$ csi -script tarme.scm

Or to make use of the shebang (assumes csi is in $PATH and is the Chicken Scheme Interpreter)

$ chmod u+x tarme.scm $ ./tarme.scm

Note: the Chicken Scheme Interpreter and Compiler may have different binary names on some systems to avoid conflicts with the Mono C# Interpreter and Compiler. For example on Arch they are named chicken-csi and chicken-csc respectively.

Configuration

Tarme will look for a configuration file located at ~/.config/tarme/config. Should you choose to compile the configuration file (using the -shared flag so Tarme can (load ...) it), Tarme will prefer loading config.so when it is present.

config (no file extension) will also be checked (before the .so and .scm variants) due to how Chicken’s load form works, but it should be avoided as it creates ambiguity.

You may also point Tarme to a different configuration file using the -c or --config flag.

$ tarme --config path/to/config

Configuration file format

All (key . value) pairs bellow are block proprieties as defined in the swaybar-protocol, represented as an association list; Scheme symbols are automatically casted to strings before sending the blocks to the panel

The configuration file consists of three forms Tarme pays attention to, the first two being optional

(header '((version . 1) (click_events . #t)))

(global-defaults '((separator . #f) (separator_block_width . 0)))

(define-blocks BLOCK ...)

Blocks

Each block is defined using the following form

(Block static: STATIC data: DATA update: UPDATE)

where

The configuration file should also import any Eggs used by the Blocks.

For examples, see here.

Themes

This repository also contains a Pywal template, and the Base16 Classic Dark theme in the same format.