Python Xlib is a neat project, and I'm glad to see the continued=20
One of the projects I've been planning for the near future is to add=20
some functionality to the connection code of Python Xlib so that it can=20
operate asynchronously using the Twisted networking framework rather=20
than relying on blocking and threads. I'm planning to integrate the=20
patched Python Xlib into WinDictator, a Windows-Linux bridge I wrote=20
and use for running dictation software in VMware and having the=20
keystrokes typed with X events.
Briefly, the Windows copy of WinDictator is a TCP server to a Linux=20
client and presents a dictation window on the Windows machine. =A0Using=20
the dictation software's "direct dictation" feature, the user generates=20
text in the dictation window, which is sent immediately to the Linux=20
client. The Linux client then generates an X "KeyPress" event (followed=20
by an X "KeyRelease" event) corresponding to the character sent from=20
the Windows client. It is assumed that the (virtual) Windows machine is=20
insecure and will be firewalled off from the Internet anyhow, so it is=20
the TCP server. Plus, multiple Linux clients can connect to and use a=20
single Windows server at different times.
Advantageously, the client-server pair allows "direct dictation" from a=20
text entry window running on Windows (along with the Windows-only
dictation software) to whatever word processor the user is employing
under Linux. The text entry window can be viewed on a separate screen of
a separate Windows box, or can appear somewhere on the Linux computer's
display. The latter can be accomplished by emulation with VMware or (I=20
think) QEMU, or by VNC operation of the separate Windows box.
Twisted's "Perspective Broker" maintains the client-server communication=20
very nicely at a high level. WinDicator works great with the xte=20
program "typing" the keystrokes, and I use it every day. But I want to=20
improve it and need the finer-grained control of Python Xlib to do so.=20
Ideally, I would like to see Python Xlib's networking integrated=20
smoothly into Twisted's asynchronous event loop for performance,=20
compatibility, and because it is just plain cool.
See http://twistedmatrix.com/services/twisted-advantage for more info=20
about Twisted, if you're interested. It runs my web site plus my boss's=20
site (http://valuablepatents.com), among other things, off of a single=20
main python thread.=20
Offers of cooperation, either to add Twisted capability to Python Xlib=20
or with WinDictator (GPL) itself, would of course be welcomed.
Registered Patent Agent
Open-Source Software Author (yes, both...)
Web Site: http://www.eepatents.com
On Monday 14 March 2005 08:08 am, Peter Liljenberg wrote:
> Simon Forman, calroc99@..., has kindly offered to
> maintain Python Xlib from now on. Give him a big hand, folks.
> I'll resign as project admin, but will still lurk around and may even
> do the occasional CVS commit (here's hoping).
> /Peter Liljenberg