# credits
© 2026 Kof Twenty Two. All rights reserved.
built with ♥ by james maes and the q's (qqq, qRun, qBits, qStudio)
~/kof22·©2026·git:ec62f12·api·rssContact·
~·~/blogs·~/projects·~/personal·~/about·api·~/admin·~/stream
Skip to content
james@kof22:~$
Home~
Blogs~/blogs
Field NotesIdeas Into Systems
Projects~/projects
Kof22 WebsitesQQQ Framework
Personal~/personal
PhotographyCarsWood WorkingMetal Working
About~/about
Stream~/stream
Home~
Blogs~/blogs
Field NotesIdeas Into Systems
Projects~/projects
Kof22 WebsitesQQQ Framework
Personal~/personal
PhotographyCarsWood WorkingMetal Working
About~/about
Stream~/stream
james@kof22:~/projects/software/limen: a terminal workspace launcher$

Limen: a terminal workspace launcher

A keyboard-driven launcher for local and SSH tmux workspaces, with explicit handoff from selection to execution.

in progress

Concept illustration of terminal panes connected to tmux workspaces and SSH endpoints.
Concept illustration for the project.

~/image$ Image viewer

Concept illustration for the project.Esc to close
ActivityOverviewGalleryCode

A terminal session begins with a small decision that repeats all day: which machine, and which workspace? Limen turns that transition into a keyboard-driven interface without taking ownership of the work inside the session.

CTO to Human: reduce the cost of getting oriented

The launcher has two stages: choose a host, then choose an existing tmux session or create one. The same shape works locally and over SSH. Its value is a consistent threshold into the workspace, rather than another application people must maintain while they work.

The public repository describes active implementation. The project’s scope is deliberately narrow: selecting a host and session, showing useful status and handing control to the existing terminal tools.

Engineer to Engineer: compose established mechanisms

Limen is written in Go with Bubble Tea for the terminal state machine and Lip Gloss for presentation. It uses tmux IPC and native OpenSSH, with a JSON declaration of the available hosts. Existing sessions remain tmux sessions; remote access remains SSH.

That composition is the useful design choice. The launcher can improve discovery without inventing a second session protocol or a replacement remote shell. Host reachability and session counts help selection, while the escape path avoids trapping a user in the picker.

The repository contains the implementation and design specification. This journal will cover the transitions, failure behavior and packaging decisions as they are documented.

Limen

Collection
Software projects
Status
in progress
View on GitHub