CODELIF(1)User Commands

Harsh Sharma (codelif) - Linux desktop tooling, mostly in Go

NAME

codelif - Harsh Sharma; writes Linux desktop tooling, mostly in Go

SYNOPSIS

codelif [--go] [--c] [--reverse-engineer TARGET] [--ship]

DESCRIPTION

Builds daemons, status bars and protocol clients for Linux. Prefers text protocols, single binaries, and software that keeps working when you close the browser.

Most of it starts the same way: something on my machine is worse than it needs to be, and the fix turns out to be a small program nobody had written yet.

Currently in that "C is better" phase.

PROJECTS

pawbar(1) - a status bar that is a kitty terminal panel

Go · BSD-3 · 109★ · github.com/nekorg/pawbar

Modern terminals already ship truecolor, text sizing, inline images, hover and mouse reporting. kitty's panel kitten will put one of those anywhere on your screen. At that point a status bar does not need a GUI toolkit; it needs a terminal and an escape sequence. Everything a bar normally reimplements, the terminal already did.

hyprnotify(1) - org.freedesktop.Notifications, rendered through hyprctl notify

Go · Apache-2.0 · 122★ · github.com/codelif/hyprnotify

Hyprland could already draw a notification. Nothing on the system knew how to ask it to, because everything speaks DBus and hyprctl does not. This is the missing half: the spec-compliant DBus side, wired to a renderer that was sitting there unused.

whatevr(1) - a Linux-first WhatsApp client; one daemon, any number of thin frontends

Go · Qt/Kirigami · BSD-3 · github.com/codelif/whatevr

Chat clients fuse the network, the message store and the pixels into one process, so every new interface means reimplementing all three. Here whatevrd owns the connection, the SQLite store, the media cache and notifications; a frontend owns pixels and a documented unix socket. That split is the whole design: writing another frontend is a weekend, not a fork.

jiit(7) - my college's webportal, made programmable

Python · Go · JavaScript · pyjiit · jiit-tt-parser · jpoop-router · planner

The portal encrypts its API payloads, which is the only thing standing between students and their own data. Once that is understood the data is just data: pyjiit makes it a library, jiit-tt-parser makes the timetables machine-readable, and the planner at planner.jpoop.in turns the result into something people actually open on a Monday morning.

Sixty-odd more at github.com/codelif. Most of them are one evening long.

WRITING

See codelif(7) for notes and posts.

FILES

/codelif.asc

PGP public key. Fingerprint:
E676 2761 4BDD A9C0 1076 F211 F558 B2A2 512E 1295

SEE ALSO

BUGS

Sleeps less than two hours a day. Drinks more NESCAFE than the documentation recommends. Will explain the JIIT webportal's threat model unprompted.

Report bugs to harsh@codelif.in.

codelif.in