Storage and restore of system state (windows/workspaces in Firefox, tmux, X11)

pyx-sys aims to make Linux workspaces enumerable as a 'catalogue' and recordable/recoverable to/from disk. It collects interfaces to various tools towards this goal in one Python library:

Moreover, it is fast: I was shocked by how slow an alternative interface to one of the aforementioned tools was, which just goes to show that repo popularity doesn't guarantee quality software.

Alongside this project I began experimenting with use of LXC/LXD containers to get Firefox 'passthrough' in an effort in effort to 'freeze' container state. Unfortunately this turned out to be a misunderstanding: container state is not persisted on shutdown, however around this time LXC VMs were released which do...

For this project I also developed an elaborate conceptual framework (partly from the academic literature on the topic of computer workspace management), including one particularly nice idea I found called 'Zubin spaces'.

Practically, one thing I took away from those frameworks has been a greater appreciation (whether embodied in tools or not) of how, when closing a workspace, we tend to presume that saving files is sufficient, but if you're in flow it's more important to fully record what you had open & why (in terms of the logical connections between tasks being done in files, e.g. if debugging, what hypotheses you were trying to dis/prove etc.) as hours/days later that sense of 'local purpose' will be blank). There is considerable infrastructure around this for issue trackers, but in day-to-day programming it is 'unhoused' as it were, and as such resides in our short term memory alone.