/ Hathaway Weblog / Opening Files

Shane :: Python :: April 03, 2005 # Opening Files

I've come to realize that I'm stuck with XEmacs, and you'll never guess why.

I depend on exactly one feature in XEmacs. Try to guess what it is.

I'm stuck with XEmacs because it's the only editor with a workable file dialog. Really! While the dialog is buggy and non-intuitive, it follows three rules: (1) it starts in the directory that contains the file I'm currently editing, (2) it lets me type the full path of the file I want to load (with tab completion), and (3) I only need to read one place to figure out where I am, because the path is in the same edit box with the filename. For these reasons, I have found the XEmacs file dialog to be the fastest way to navigate large hierarchies of source code.

No other file dialog follows these rules. All others start in the last directory I happened to visit, which is rarely ideal. All others display the directory path separately from the filename. The new dialog in GNOME is especially bad because I can't type the name of the file I want--I have to select it from a list.

When I'm navigating source code, it's much more important to minimize distractions rather than maximize speed of input. When I'm opening a file, if I have to look at the name of a dozen other files to reach the file I want, I'm going to think about all the things I have to do with those other files and forget what I originally intended to do. I feel like a good file dialog contributes more to my productivity than any other feature in source code editors and IDEs.

So as much as I'd like to use some of the new Python IDEs, I'm stuck with XEmacs until some IDE follows the file dialog rules I listed above. Note that these rules don't seem to generalize to other computing tasks. Existing file dialogs are great for browsing things other than source code.

Comments

Carlos de la Guardia (April 04, 2005 18:02)
Wing IDE does comply with all three requirements. I just checked switching editor windows and using the open dialog and it correctly shows the directory the current file is in. You can type the full path with tab completion and the current location is shown at the top of the dialog.

Shane Hathaway (April 04, 2005 19:35)

Thanks, I'll have to check out Wing IDE... although it doesn't sound quite right. The full path needs to be in the filename input text box, otherwise my current location depends on two widgets, not one, since I often type partial paths like "src/c/code.c" in the text box. Making the full path editable will tend to make the dialog wide and probably ugly by most people's measure, but more useful for easily-distracted nuts like me. Also, the dialog needs to minimize disk seek time by avoiding eye candy like thumbnails and directory icons that depend on the contents of the directory.

Note that I'm not concerned about wasting time or typing extra keystrokes. I'm concerned about being distracted by long lists of filenames and by pauses. I'll gladly put in a little extra time and effort if it reduces distractions and keeps me focused. XEmacs pauses seem to be as minimal as possible. I hope the author of the XEmacs dialog appreciates what makes it good even though it has problems.

Ramzi Ferchichi (April 05, 2005 10:17)

"he new dialog in GNOME is especially bad because I can't type the name of the file I want--I have to select it from a list."

This is NOT true, try pressing ctrl-l in the dialog.

Shane Hathaway (April 05, 2005 12:44)

Good to know, Ramzi--however, I just tried it, and the feature feels jammed in as an afterthought. It's also only useful for selecting names in the current directory. I like to span the whole filesystem in a single textbox.

Am I being stubborn? Probably. Yet I feel like I have to be stubborn about this because I've had so little success at moving away from XEmacs. It's not like XEmacs and I are old friends, either--I only started using it three years ago. I don't even use the standard XEmacs keybindings; I use pc-select-mode. What I actually want is just a Windows-like editor with multiple windows, tabs, and a file dialog optimized for navigating big hierarchies of source code.

Johannes Gijsbers (April 08, 2005 07:30)

I'm wondering... do you use IDO? It makes opening files in Emacs even faster. Faster than any other interface I've seen, really. I use the version from GNU Emacs CVS, but the version on that page should work fine as well.

No further comments may be added.

2 Timothy 3:1-5 (Click below to fill in the blanks.)
Your browser is not able to display the scripture fill-in program. To see it, enable Javascript or use Mozilla 1.0 or better.

Church: lds scriptures provident games pearls kzion shiblon film chancellor gateway cumorah byutv happiness nephi
Zope: freezope org com zen labs newbies zettai warnes
Python: home pyzine daily icanprogram
Genealogy: cyndi
Weblogs: jeffrey paul jon joel another-shane guido barry jeremy windley chrism zac
News: quakes lwn dc weather deseret zeitgeist softwarelivre
Zaurus: software developer
Tech: tango spintronics thin
Semantic: aaron sean
Reference: css rdf html4 javascript geckodom iecss emacs phrases acronyms
Reverse: advogato slashdot
Misc: gimp-savvy directory soda jokes shouldexist pdphoto