2025-11-02 -- File management and workflows in terminals or GUIs ================================================================ My desktop stopped having icons about 15 years ago. And I stopped using GUI file managers around the same time. It's all terminal-based since then. It's well-known by now that I have a certain affinity for the Windows Explorer of the 95 to 2000 era. Every time I start a Win2k VM, I can't help but think "wow, this was nice". Or maybe I'm just growing tired a bit of my current workflow and setup. PCManFM is surprisingly similar to Windows Explorer and you can even make the Qt version look somewhat similar. I've been playing with this program for the last couple of weeks. It took me a while to realize that it's not really about file manage- ment. It's about the entire workflow. Just using PCManFM every now and then isn't meaningful. I've build so many small things that only make sense in a terminal. I'd have to change everything from terminal-based to GUI-based again. I'd need to have a desktop with icons again, I'd need to have a start menu again. I'd need a Git GUI integration. And so on, and so on. Not only is that a lot of work, it's also less powerful. I think a better way forward is to keep perfecting my terminal worklow. There are rough edges that could need some improvement. As a first step, I polished up some scripts -- some of which I've been using unchanged for over a decade! -- that help with file management. For example, I have a "clipboard" system for the terminal, i.e. I can mark some files for copy/cut and then do the paste operation in some other terminal. And I have "vmv", an interactive version of "mv" that makes use of Vim. Stuff like that. What really isn't great, though, is my very frequent use of "cd $project". I'd like to have something like OS/2's "work folders" -- or whatever they're called in English, I don't know, sorry. The feature goes like this: You can mark a folder as a "work folder" and that makes it a "container" for a "session" of programs. When you open that folder, all the programs open with it. Close it and all the programs close. That means you could make, say, "~/work/C/my-http-server" a work folder and every time you open it, a Vim with the source code opened appears, the documentation for some library opens (because you need to look up stuff often), a terminal opens where you can run tests, and so on. Just *opening* these things would be pretty easy, just make a shell script. *Closing* them all in one go, *remembering their settings* and so on, that would be the hard part. I doubt that I'm going to implement all that. But maybe parts of it. Somehow.