OpenSourceJavaProject/python-xlib
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
The Python X Library
Version 0.7, 8 Jan 2000
*** Copyright
Copyright (C) 2000,2001 Peter Liljenberg
The Python X Library is released under GPL, see the file COPYING for
details.
*** Requirements
The Python X Library requires Python 1.5.2 or newer, though it hasn't
been tested with any newer Python versions yet.
*** Installation
Just copy the Xlib directory to some place in the module path. E.g.:
cp -r Xlib /usr/lib/python1.5/site-packages/
Make sure that that directory exists before copying.
Alternatively, you can run programs from the distribution directory,
or changing the module path in programs.
There's a simple example program, implemented twice using both the
high-level interface and the low-level protocol.
*** Introduction
The Python X Library is intended to be a fully functional X client
library for Python programs. It is written entirely in Python, in
contrast to earlier X libraries for Python (the ancient X extension
and the newer plxlib) which were interfaces to the C Xlib.
This is possible to do since X client programs communicate with the X
server via the X protocol. The communication takes place over TCP/IP,
Unix sockets, DECnet or any other streaming network protocol. The C
Xlib is merely an interface to this protocol, providing functions
suitable for a C environment.
There are three advantages of implementing a pure Python library:
* Integration: The library can make use of the wonderful object
system in Python, providing an easy-to-use class hierarchy.
* Portability: The library will be usable on (almost) any computer
which have Python installed. A C interface could be problematic to
port to non-Unix systems, such as MS Windows or OpenVMS.
* Maintainability: It is much easier to develop and debug native
Python modules than modules written in C.
*** Project status
The low-level protocol is complete, implementing client-side X11R6.
The high-level object oriented interface is also fully functional.
It is possible to write client applications with the library.
Currently, the only real application using Python Xlib is the window
manager PLWM, starting with version 2.0.
There is a resource database implementation, ICCCM support and a
framework for adding X extension code. Currently only the XTEST
extension has been implemented.
There are most likely still bugs, although a large part of the library
has been exercised now and seems to work just fine.
There are some documentation, but it doesn't cover the object oriented
interface methods yet.
See the file TODO for a detailed list of what is missing,
approximately ordered by importance.
*** Contact information
Author email: Peter Liljenberg <petli@ctrl-c.liu.se>
The Python X Library is a SourceForged project. The project page is
http://sourgeforge.net/projects/python-xlib/. Source is available
from that page as tar.gz-releases and from the CVS tree.
There isn't any real web page yet, only a derivative of this file. It
is located at http://python-xlib.sourceforge.net/.