This is a tentative description of what I'd like to have next in shpy. What would be most useful for me is a general editing tool. So I'll just describe what I'm looking for, irrespective of the objections I can already hear :-) Goal: ---- Let's put aside matters of multiple cells and execution servers for the moment. $ shpy filename.txt Opens filename.txt for editing. The file is local to where the command is issued, but it should just work transparently across ssh, and several users opening the same file on the same host see each other's cursor and changes. The pygame window works like a regular single-file editor. $ shpy Opens a scratch window. Uses IRC mode cells, visible to everyone issuing a bare 'shpy' on the same machine. In this model we edit several files and chat at the same time by having several windows on our screens. Looks like an easier goal than a single all-encompassing window and the latter can always be added later. Setup: ----- 'shpy' is a small Python script that I put somewhere in my path so that I can just run it. The PyGame-based client holds all the complexities and must be installed along with PyGame on the local machine. There should be no need to run a shared server on the remote machine, but we need a way for 'shpy' to connect to the local client. Some random solutions: 0) shpy connects to $REMOTEHOST:8888. Doesn't work in a lot of situations. 1) start a shpy-client daemon process locally, listening to port 8888; setup ~/.ssh/config so that ssh connexions automatically route the remote port 8888 to the local port 8888; configure shpy to use this port to connect back to shpy-client. This way no separate process is needed on the remote machine. 2) start a more spidery shpy-client daemon that will issue ssh connexions to the remote host(s) to listen for connexions from shpy. We can use named pipes instead of sockets in this situation. 3) hack: assume 'ssh -X' and contact the remote X server, not to actually display the PyGame window, but to send information to the shpy-client daemon. This could actually generalize to a seriously different framework in which you compile X with a Python extension that allows X clients to send Python scripts to the X server... Would be great too! Armin