Xlib

Latest version: v0.21

Safety actively analyzes 629639 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 3

0.9

========================

Documentation improved
----------------------

The documentation has been augmented with a chapter about event
handling, and a chapter listing all X objects and their methods provided
by the library. They are not described in any detail, though.

Keysym handling improved
------------------------

The module `Xlib.XK`, which listed all keysyms, have been split up into
several sub-modules providing different sets of keysyms. By importing
`Xlib.XK` only the miscellany and latin1 sets are loaded, thus removing
some unnecessary clutter.

`Xlib.display.Display` has two new methods (`lookup_string()` and
`rebind_string()`) for translating keysyms into characters.

Small changes to library interface
----------------------------------

The order of the `Xlib.display.Display` method `send_event()` parameters
`event_mask` and propagate has changed.

Some of the class names in `Xlib.protocol.event` have changed, to have
the same name as the corresponding event type constant.

A few bugfixes
--------------

If a display has more than one screen, the default screen was always set
to the highest numbered one, irrespective of what the user specified in
`$DISPLAY`.

Some response attributes in `Xlib.protocol.request` accidentally included
a comma.

---

0.8

=========================

Uses distutils
--------------

Python Xlib now uses distutils to make installation and distribution
building easier.

Tested with Python 2.0
----------------------

A few incompatibilities with Python 2.0 has been fixed.

---

0.7

========================

Fixed the 64-bit platform fix.
------------------------------

As it turns out, the attempted fix for 64-bit platforms in v0.6 didn't
really work. Close study of structmodules.c gave the answer why, and now
it really should work. Yeah.

Optimizations of core protocol engine
-------------------------------------

Python Xlib is now at least 25% faster after the core of the protocol
engine has been rewritten. This is some quite cute code: tailor-made
methods are generated for all structures, resulting in a 650% speed-up
in generating binary data, and a 75% speed-up in parsing binary data.

Interested Python hackers are recommended to take a look at the Struct
class in `Xlib/protocol/rq.py`.

---

0.6

=========================

Fix to make python-xlib work on 64-bytes architectures.
-------------------------------------------------------

The struct and array modules uses `sizeof(long)` to determine the number
of bytes used when representing the type code 'l'. On Intel and VAX,
this is 32 bits as expected. On Alpha, it's 64 bits. python-xlib now
probes how large each type code is to avoid this problem.

---

0.5

=========================

- Functions implemented to get and set all ICCCM WM properties on Window
objects.

- Keymap cache implemented, with external `Xlib.display.Display` methods
`keycode_to_keysym`, `keysym_to_keycode`, `keysym_to_keycodes` and
`refresh_keyboard_mapping`.

- Two utils for debugging X traffic implemented. `utils/tcpbug.py`
forwards a TCP connection and outputs the communication between the
client and the server. This output can then be fed into
`utils/parsexbug.py`, which will output all requests, responses,
errors and events in a readable format.

---

0.4

========================

- Thread support completed, but not really stress-tested yet.

- A framework for handling different platforms has been implemented,
together with generic Unix code and some simple VMS code.

- Some documentation has been written.

- The usual bunch of bugfixes.

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.