Programming Workbench (vaporware)
PW is a development environment designed for people who think exactly like me. It (most likely) has very limited (or zero) appeal to others.
There are a few key elements to PW:
- Designed for massively multiple monitors. Currently the code assumes a perfectly rectangular geometry, but this should be easy enough to fix.
- Text editor. A very basic text editor. It does no typing for the user other than whitespace. It handles spaces/tab substitution, provides a pop-up menu of functions in a file, and color settings. Otherwise, it does absolutely nothing. Why? I generally dislike text editors that do all kinds of magical typing for me, underline "errors" a la Word, and other sorts of garbage. Extremely complex tools often have over-lapping settings or settings that conflict with each (Eclipse, for example). I don't want any of that.
- Terminal. In the same tool as the editor is the Terminal. This terminal is familiar with SSH and can be easily configured to automatically login to remote servers, query screen sessions and re-attach or create new named screen sessions.
- Filesystem browser. You can instantiate as many filesystem browsers as you want and place them anywhere on the workbench. Each browser supports shell-like filesystem navigation commands (cd, pushd, dirs, popd, ls <obj>) and the result is shown in the browser. "GUI without the mouse".
- Mouse-less navigation. Quickly move from one work panel to the next without a lot of tedious mousing or alt/cmd-tabbing.
- Highly crash-recoverable. Nothing sucks worse than your editor going down in flames and losing stuff. A piece of software as complicated as PW is likley to crash from time to time, especially when it is under development. PW takes steps to record settings and state very frequently to reduce loss of data or configuration.
- Non-overlapping single pane of glass. There is only one window and it is the size of the entire monitor area.
Wishlist:
- SNMP support. For monitoring remote system CPU, network switch ports for the remote system, etc., without separate top/MRTG/sysstat windows.
- Scripting scratch pad. For testing fragments of Python, Ruby, bash, perl, whatever.
There are a few things PW does nothing to solve:
- No project management. There are no "projects" or "workspaces". PW does nothing to help you build code. Bring your own Makefile system.
Current Status (April 2009)
I have spent some time looking at the jEdit code and it seems highly readable. It seems starting with jEdit as the base and building plug-ins would be the quickest way to implement this tool. jEdit performance when stretched across 6 monitors is good. jEdit's codebase is far simpler that Eclipse, based on casual looking at the two.
There are existing SSH plug-ins for jEdit. The main modules would be the filesystem and SNMP modules, and changing some of the panel navigation.
Sadly, it is unlikely I will have time to build any of this any time soon because I am so busy with other things, but at some point I will have to block out a few weeks to hammer out something like this.
require_once("../include/header.php");
print_footer()
?>