159 lines
6.1 KiB
Plaintext
159 lines
6.1 KiB
Plaintext
Metadata-Version: 2.1
|
|
Name: python-xlib
|
|
Version: 0.33
|
|
Summary: Python X Library
|
|
Home-page: https://github.com/python-xlib/python-xlib
|
|
Author: Peter Liljenberg
|
|
Author-email: petli@ctrl-c.liu.se
|
|
License: LGPLv2+
|
|
Download-URL: https://github.com/python-xlib/python-xlib/releases
|
|
Keywords: windows,x,x11,xlib
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Environment :: X11 Applications
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
Classifier: Programming Language :: Python :: 3.7
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
Classifier: Topic :: Software Development :: Libraries
|
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
Requires-Dist: six (>=1.10.0)
|
|
|
|
The Python X Library
|
|
====================
|
|
|
|
|Build Status| |codecov.io| |Code Health|
|
|
|
|
`Homepage`_ | `Releases`_ | `Changelog`_
|
|
|
|
Copyright
|
|
~~~~~~~~~
|
|
|
|
The main part of the code is
|
|
|
|
::
|
|
|
|
Copyright (C) 2000-2002 Peter Liljenberg
|
|
|
|
Some contributed code is copyrighted by `the contributors <Contributors_>`_,
|
|
in these cases that is indicated in the source files in question.
|
|
|
|
The Python X Library is released under LGPL v2.1 or later (since 2016),
|
|
see the file LICENSE for details. 0.15rc1 and before were released under
|
|
GPL v2.
|
|
|
|
Requirements
|
|
~~~~~~~~~~~~
|
|
|
|
The Python X Library requires Python 2.7 or newer. It has been tested to
|
|
various extents with Python 2.7 and 3.3 through 3.6.
|
|
|
|
The Python X Library will only work on systems that have an X server installed,
|
|
such as most Linux distros, but will not work on Windows or MacOS.
|
|
|
|
Installation
|
|
~~~~~~~~~~~~
|
|
|
|
The Python Xlib uses the standard setuptools package, to install run
|
|
this command:
|
|
|
|
::
|
|
|
|
python setup.py install
|
|
|
|
See the command help for details: ``python setup.py install -h``.
|
|
|
|
Alternatively, you can run programs from the distribution directory, or
|
|
change 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.
|
|
|
|
Documentation
|
|
~~~~~~~~~~~~~
|
|
|
|
The reference manual is not finished by far, but is probably still useful. It
|
|
can be `browsed online <https://python-xlib.github.io/>`__.
|
|
|
|
There are also some `example programs <Examples_>`_ and, of course,
|
|
`the standard X11 documentation <https://tronche.com/gui/x/xlib/>`__ applies.
|
|
|
|
|
|
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. Several extensions have been
|
|
implemented (RECORD, SHAPE, Xinerama, Composite, RANDR, DAMAGE,
|
|
Generic Event, SECURITY, XFIXES, XInput, XTEST, NV-CONTROL, DPMS and XRes);
|
|
patches for additions are very welcome.
|
|
|
|
There are most likely still bugs, but the library is at least stable
|
|
enough to run PLWM. A continuously bigger part of the library is covered
|
|
by regression tests, improving stability.
|
|
|
|
The documentation is still quite rudimentary, but should be of some help
|
|
for people programming with the Xlib. X beginners should first find some
|
|
general texts on X. A very good starting point is
|
|
http://www.rahul.net/kenton/xsites.html
|
|
|
|
See the file TODO for a detailed list of what is missing, approximately
|
|
ordered by importance.
|
|
|
|
.. _Homepage: https://github.com/python-xlib/python-xlib
|
|
.. _Releases: https://github.com/python-xlib/python-xlib/releases
|
|
.. _Changelog: https://github.com/python-xlib/python-xlib/tree/master/CHANGELOG.md
|
|
.. _Contributors: https://github.com/python-xlib/python-xlib/graphs/contributors
|
|
.. _Examples: https://github.com/python-xlib/python-xlib/tree/master/examples
|
|
|
|
.. |Build Status| image:: https://travis-ci.org/python-xlib/python-xlib.svg?branch=master
|
|
:target: https://travis-ci.org/python-xlib/python-xlib
|
|
.. |codecov.io| image:: https://codecov.io/github/python-xlib/python-xlib/coverage.svg?branch=master
|
|
:target: https://codecov.io/github/python-xlib/python-xlib?branch=master
|
|
.. |Code Health| image:: https://landscape.io/github/python-xlib/python-xlib/master/landscape.svg?style=flat
|
|
:target: https://landscape.io/github/python-xlib/python-xlib/master
|
|
|
|
|