TreeMendous Terminal
Post date: Oct 13, 2026 12:00:00 PM
TreeMendous - an opinionated file mangler
So I wrote a file manager that I wanted to use; Transmit, CyberDuck and Prompt are all very nice on iOS/MacOs, but they all lacked an ability to be used across all my devices.
Terminals
Terminals because if you’ve built the framework for ssh to use with sftp, you might as well add a terminal…
- xterm, vt52, ansi, videotext …
- whilst we’re doing terminals, might as well use FISH and implement file transfers over a terminal
- okay on the same subject of file transfer, implement X/Y/Z-modem, and kermit for good measure
- wait, those aren’t just for odd shells, they’re used for BBSes too, add telnet as another transport!
- ooh, maybe serial sometime in the future too.
But back to the file manager…
- Let’s implement a virtual file system
- First the host …
- SFTP next
- wait transfers are so slow, so let’s use scp for the transfers
- scp not installed, but we have a shell? let’s use tar instead as we can stream multiple files that way…
- scp/sftp administratively blocked or just not included? FISH is the answer
- FTP(s) too … does anyone still use that any more? (apparently so)
- WebDAV, because it’s on everyone’s feature list (even I had clients doing private cloud sharing on it)
- 9P, because I was originally going to use this as a model… but it was too limiting, and it got some 9fans interested.
- S3, apparently no-one takes you seriously until you use S3 buckets as a file system!
- AFP, now os27 drops this from Macs, and I still have a NAS that serves my local users, it has active directory on SMB
- NFS, wait… why? Because I still use it!
- SMB, because everyone uses it on workgroup mode at home and domains at work
- Kerberos, because you need the right authentication models on NFS and SMB!
Oh, you want to open zip files like windows does?
- Zip files appear like folders (we can thank Dave Plumber for implementing this as a shell extension in windows)
- 7zip too (our own implementation)
- Tar files too, are you crazy?
- cpio ? ah yes you are. Understood
- ar archives? you need therapy – those don’t even have folders! can you even ranlib? (maybe)
- compressed files? sure!
- Z (compress)
- gz (gzip)
- bz2/bz (bzip2)
- xz (xz)
- lz4 (lz4)
- sz/.snappy (snappy)
- rar … why yes, but only reading as the Russians might get upset with us if we start compressing things
- multi-part archives; no - we might be slightly mad here (it helps) but I’m not going to support that; unless someone pays handsomely for that feature
- par … arrr no matey!
What about weird formats?
Don’t worry, we got you fam!
TreeMendous Terminal
Post date: Oct 13, 2026 12:00:00 PM
Whilst writing TreeMendous - FileManager, I realised that I needed a terminal emulator to enhance the app’s functionality. So, I decided to create a xterm-style terminal emulator within SFTP sessions which ended up me adding FISH functionality. Which is oddly faster than file transfers than SFTP. As I progressed further, I realised I might as well add the old BBS favorites of X, Y and Z modem support. Oh - whilst I’m there, I might as well add Kermit support too. Wait, most BBSes are on telnet, not ssh. So, I decided to add telnet support too. Then I was reminded of my old Prestel/Viewdata project, and - yes; I added that as well. Really all of that doesn’t belong in a single app, and there’s a thriving community of folk that need a half-decent terminal emulator that isn’t putty. So, I decided to split most of that into a separate app.