Tag Archives: desktop

undistract-me: Quashing your ADHD

I fear this little utility might be usable only for a discrete set of fans. Technically speaking it’s a text-based application, but … well, I’ll let you take a look and see what you think.


In principle, it’s rather simple: undistract-me simply takes note if a shell command takes longer than 10 seconds to execute. If it does, it waits until the program finishes, then throws up the alert message you see in the screenshot above. Kind of cool, in an odd way.

Strictly speaking though, you’ll need all the underpinnings of a graphical desktop, plus whatever alert system is in use there, before you’ll get close to that kind of behavior. On my semi-graphical Arch system with just Openbox, I ended up adding gtk3, polkit, dconf, json-glib and a mess of themes and libraries before the git version was close to running.

So I don’t know if I’m being fair by including it. Don’t expect to suddenly plop this into place on your 400Mhz Celeron running screen, because you’re going to need a lot more to get close.

I won’t deny that I like the idea though, and if something comparable could be implemented in a text only environment, it might be worth trying. For my own part, I used to append long-running commands with aplay yoo-hoo.ogg so I would get an audible when something finished.

So in that way, I can sympathize. But unless you use a lot of terminal commands on a Linux Mint desktop and need some sort of blinky reminder when one finishes … well, like I said, it will probably only appeal to a slim range of fans. :\

vimwiki: The reason, in due season

I promised I’d let on to why I’ve relied on vim all these years, and the time has finally come. As luck would have it, the only reason I put up with that cumbersome, unfriendly, cryptic and sadistic text editor is because of vimwiki.


I know, I’m a bit of a hypocrite for clinging to a particular text editor for years, all because of one silly plugin that it supports.

I can’t rationalize that, except to say that vimwiki has vastly simplified the task of managing The List — with a thousand program titles, each (supposedly O_o ) with a one-line synopsis and a link to a home page, plus some notes. I couldn’t imagine trying to handle that in a flat text file, or something like hnb. It would not function nearly as cleanly.

vimwiki as evolved over the years I have used it, and I’m comfortable with it in its current rendition. Press enter on a word to convert it to a link, press enter on a link to jump to its page. Press backspace to work your way back through the breadcrumb trail.

Master that — within the convolutions of vim, of course — and you’ve gotten everything that you need to keep hyperlinked text files organized.

vimwiki also builds calendars and tables, exports to different formats and handles some markdown-ish syntax, although it’s incredibly rare that I need those features.

vimwiki will require some settings in your .vimrc that might prove confusing; the conceallevel in particular might make URLs contract and that was irritating for the first few days. Over the years I’ve learned to live with that.

vimwiki is smart enough to carry a few housekeeping features too, though. It’s a simple three-key command to delete or rename a page, which are both crucial functions in my project. And it’s smart enough to riffle through every other page, and correct links therein.

I know it’s not much of an endorsement, but vimwiki is probably one of the few note-taking tools that I immediately embraced, as soon as I saw how easy and clean it worked. The fact that I was willing to overlook all the fatal eccentricities of vim should be an indicator of how good I think it is.

After years of dedication and service, at last, a well-deserved K.Mandla gold star for vimwiki: ⭐ 😉

One last note: This is the only vim plugin I’ll discuss, mostly because there are literally hundreds out there. Some are good and some are bad, but mostly you know what you need and like. There’s no need for me to traipse through each one. Go on your own little adventure. 😉