|
|
/ Hathaway Weblog / My Zope 3 development environment |
I've been battling Zope 3 for a week now and I have the scars to prove it. Zope 3 is still a little raw but it's really cool once you figure it out. One thing I've discovered is an ideal environment for developing in Zope 3. It requires two monitors and a minimum of 5 virtual desktops. I activate the virtual desktops with function keys (no modifiers like alt or ctrl) for fast, thoughtless switching. Here is the layout:
- Desktop 1 is for reading/writing source code. It has four editor windows. The two windows on the left monitor have Zope source code and the two windows on the right monitor have the source code of the software I'm writing. I use a medium-size proportional font so I don't have to wear glasses.
- Desktop 2 is for testing. It has a large console window on the left for launching the program and reading tracebacks. The right monitor has a maximized browser window with at least two tabs, one for simulating a user, the other for simulating an administrator.
- Desktop 3 is for reading documentation. I run a separate instance of Zope 3 on this desktop and read the live documentation in a browser window. The browser window has several tabs open: the Python docs, the Twisted docs, and other docs as needed.
- Desktop 4 is for communication (email, random web sites, etc.) You've got to communicate while you're writing software.
- Desktop 5 is for the command line: grepping, CVS/Subversion, reading random bits of source code, etc.
I also set up 5 more virtual desktops, for a total of 20 screenfuls of working area. Desktops 6, 7, and 8 are for working on a second project (source, testing, and docs again), desktop 9 is for system maintenance (Gentoo's emerge is often running here), and desktop 10 is for games. :-)
It sounds pretty chaotic, doesn't it? It fits the way I think, though. Virtual desktops seem a lot more efficient than overlapping windows. When I'm not writing, I scale down to two or three desktops, but when I'm focused on a project, the last thing I want to think about is finding a window.
