Stuff that I would love to see happen to the ROX-Filer

The ROX-Filer is the key component of the ROX Desktop—it’s a file manager, like Windows Explorer or Nautilus or Konqueror, but one that takes some hints from Risc OS. I love it, and I use it all the time. But there are some ways I think it could be better. I’m not posting this list to the ROX mailing lists, because it’s not constructive criticism—there is no way I could implement this stuff, so I’d just be whining for someone else to write code for me. I can put it here, though. :)
Make the Filer spatial
This is the key thing. John Siracusa has explained, in detail, the concept of a Spatial Finder on the Mac, and I want my desktop to work like that. The Filer already can be configured to give a new window for each folder, but it doesn’t remember settings; if you resize a folder window, then the Filer doesn’t remember that. I’ve looked into having my window manager do it, but you can’t. The Filer does put the path it’s displaying into the window role property on the window, which theoretically could be used to have an external program “remember” Filer settings for that folder and resize the Filer window when it’s created. However, devilspie, which can do things to windows on window creation, can’t resize windows, and it only runs on creation; there’s no way of capturing a resize event on a Filer window to “save” the details of the new size somewhere. wmctrl can resize windows, but it’s not hooked into any window events, so you’d have to just run it in a cron job every second or so (oof), and you can’t detect Filer windows with it (it returns a window title, but not necessarily the owning app, so you can’t tell that a Filer window is a Filer window). It should be possible to write something that wraps libwnck and hooks window creation and resize events, and records changes to Filer windows, but this should be a fundamental property of the Filer rather than something implemented externally. Even if the external approach was the way to go anyway, I couldn’t do it: I’m no good at C, and I can’t find Python bindings for libwnck.
Proxy icons for files
Siracusa also flags the idea of “search folders“, which are folders that contain the results of a search, and are always up to date with the results of that search. ROXFilter nearly does this, but it’s missing a couple of things. The first is some GUI configuration, so the user can manually create search folders (without having to know Perl, yeesh). Ideally, search folders would be created for you by some search tool, but that’s OK. The second, and most important thing, is that the search folder should be populated with proxy icons. When you drag a proxy icon for app A or file B to a different Filer window, then app A or file B should be moved there. This is why ROXFilter’s current approach, of using symlinks, isn’t good; if you drag a symlink from a ROXFilter folder, it’ll move the symlink, not the file the symlink points to. I don’t think that this can be done without support from the Filer.
Make the desktop a Filer window
It should be possible to drag things to the desktop. At the moment, you can’t; the desktop can only contain shortcuts. This is a real pain; when I unpack AppDirs, I want to drop them on my desktop, run them, and then move them somewhere if I like them. At the moment I have to open a Filer window to have somewhere to put an unpacked thing. I don’t like this.
Make entering a path into the Filer quicker on big directories
I’m not sure about this one, because I’m halfway convinced that the Filer shouldn’t show pathnames at all. But, given that it does: on a Debian box (or probably other things too), bring up a Filer window, hit / to enter a path, hit backspace a few times to remove the path that’s in there, and then type (at normal typing speed) /usr/share/doc/python (or any existing path in /usr/share/doc). Doesn’t work, because after you’ve typed /usr/share, the Filer takes a second or so to display the window, and during that time doesn’t respond to keypresses. So you end up typing /usr/share/c or something. I’m not clear how to make this better, since until the Filer’s parsed the folder contents it can’t tell whether what you’re typing in is a legit path.

I'm currently available for hire, to help you plan, architect, and build new systems, and for technical writing and articles. You can take a look at some projects I've worked on and some of my writing. If you'd like to talk about your upcoming project, do get in touch.

More in the discussion (powered by webmentions)

  • (no mentions, yet.)