sb4ssman

Posts

DesktopOpener: tools to build up

The problem. I've been hooked on software since AOL, when I found out you could download new programs that did new things. And every time a computer crashed, I wanted one click that would reopen every app and put each one back exactly where I had it.

What I built. Programming had always been a hobby. I taught myself to program my graphing calculator from its manual, but applications on a PC were out of reach. When LLMs arrived, at the right moment in my life, I taught myself Python, and this was the first project: every piece I needed to take control of my desktop. Open apps, place them, do it again reliably, save the list, open several lists at once.

Every time I hit something I couldn't do, I built the tool for it, and each one became part of DesktopOpener. I needed to measure pixel distances on screen, so I built my own ruler. I needed a better color picker, so I built ColorCatcher. I wanted to search the text in my repos and gather stats on my own work, so I built FancySearch. I needed to know more about the desktop environment itself, so I built the Environment Probe. And I wanted a control panel with shortcuts to the tools I use most. I got fascinated by Python's live console, built my own, and started on a way to multiplex running scripts. The background workers I imagined never arrived, but many of the apps now run quietly from the system tray.

Where it stands. 382 commits since October 2023: the app, eleven tools and a shared set of utilities, about 120,000 lines of Python with its own tests. It is still a work in progress. I want it on every machine I use, which means cross-platform support and more testing.

What I learned. Build the tools you need to build the things you really want. Each tool I built for DesktopOpener made the next thing possible.

Back to the card