Announcing basht, a modification of bash-5.3 in which no task writes directly to the terminal. Every task, the shell included, writes to its own pty; output reaches the screen as whole lines, each tagged [name:instance:pid:line]; and background jobs print through a stable prompt while the line being typed survives at the bottom of the screen. Concurrent tasks cannot interleave mid-line. The model comes from the tagged consoles of the Univac 1100-series systems I used early in my career.
Repository: https://github.com/samiam95124/basht Demo (9 min): https://youtu.be/stjK6rqtQno Theory of operation: https://github.com/samiam95124/basht/blob/main/basht.theops The diff against upstream is 11 files, +1887/−21, with roughly 1700 lines of that in self-contained new modules. Interactive shells only; bash -c, cron jobs, and #! scripts behave exactly as stock bash. Full-screen programs are detected at their first alternate-screen escape and moved to their own terminal window. GPLv3, same as upstream. To be clear, this is a standalone fork, not a patch submission — I'm not requesting a merge or review. Sharing it here because this list is where people who think about shell behavior are, and the design may be of interest. Comments welcome. Scott Franco San Jose, CA
