Candy - Commanders Are Not Dead Yet

Candy, the Commander

Candy: Commanders Are Not Dead Yet


Candy is my shot towards writing a usable commander, since it’s long time I miss a good commander out there in the World.

The project is a shot “towards writing” instead of “at writing” because there is no explicit goal to write one. At least such a goal is not of high priority. Instead, this project is more like a thought experiment, only expressed in code.

I’m first aiming at experimental features, playing with them, instead of making the software suitable for broad audiences. This doesn’t mean I’m writing crap and don’t give a shit to the quality. No. I’m dog-fooding it, I use it every day, which makes it easy to spot a need for a feature: if I have to leave the commander, it’s a sign to look for a feature.

So what it does mean is that I don’t spend too much time on adjusting the software to the “classic” views/keybindings/features. You’re welcome to do that yourself if you’re interested. And of course, I am interested in people using this software. It’s just I’m more interested in them trying out/testing/evaluating the new features, instead of complaining about the lack of old ones.

Here are some of those ideas to illustrate what I mean by “experimental features”:

  • Incremental search through current directory. Similar to what you see when you /-search for text in ViM.
  • Advanced search tool. I haven’t seen a commander with a search good enough to keep me grinding the teeth instead of screaming aloud.
  • More than two panels (why not?).
  • Good interoperability among distinct features.
  • Better integration with command line facilities than most of them’s one line to type in.
  • And many more, some of which I’ve no idea about yet. But they are springing at such a pace I couldn’t keep the list up to date.

Here go some technical details.

As of now, I’m writing in Python and use wxWidgets for this project. That doesn’t mean I’m married to them, though. I can switch any of these whenever I’m fed up with them. (Seems unlikely, but you’ve been warned). Also, the wild nature of the project means I can add up unexpected things as soon as they come up to me.


Here is the code.

So far, the state of the project is so very early pre-pre-alpha, that I don’t even care to version the snapshots I post. The code is here for people to play around and to give them hands-on access to my experiments.