st is a simple terminal that sucks less, but it does not have scroll back support, aka "scrollbackabilty". :)

One way to remedy this, is to use tmux or GNU screen. tmux has a disadvantage in the sense it doesn't reflow text.

tmux setup in dwm's config.h

static const char *termcmd[]  = { "st", "-e", "tmux", NULL };

tmux has some added bonuses, like keeping the width so for example tail -f /var/log/everything.log doesn't get truncated/wrapped when you want to do a copy&paste to a new window.

tmux local and remotely?

If you run a default tmux a -d and you log into a remote machine, you need to prefix your commands twice to for example open a new shell on the remote machine, e.g. C-b C-b c

You can work around this like I do by setting up your local tmux to use a different prefix, in my case using the old bloated GNU screen prefix, C-a.


x220:~$ pstree
	 │                 ├─chromium───2*[{chromium}]
	 │                 ├─chromium───7*[{chromium}]
	 │                 ├─chromium───{chromium}
	 │                 └─22*[{chromium}]
	 │                            └─nacl_helper_boo
	 │                            └─sh─┬─sh───dwm───3*[st───tmux]
	 │                                 └─sleep
	 │      ├─2*[bash]
	 │      ├─bash───pstree
	 │      └─bash───vim

If you like this, you might like the stateless Web kiosk software I develop. Webconverger typically replaces Windows on PCs and is deployed in public and business environments for ease of deployment and privacy. Once installed it auto-updates making it painless to maintain. Try it where you exclusively use the only viable open platform... the Web!