This release includes many new features developed since the last major release. Urwid now supports 256 and 88 color terminals. A new MainLoop class has been introduced to tie together widgets, user input, screen display and an event loop. Twisted and GLib-based event loops are now supported directly. A new AttrMap class now allows mapping any attribute to any other attribute. Most of the code base has been cleaned up and now has better documentation and testing. Lots of other improvements are listed in the changelog.
I set out to create a generic class that would extend a python list by adding a "focus". The focus is an index in the list, and it will be moved if any items are added or removed before the focus in the list. It could be used to keep track of where you are in a list that is changing while you are processing it, but I wrote it as part of making my Urwid container widgets more user-friendly.
The result is a little more complicated than I imagined.
I stood up in front of a few hundred PyCon attendees in the afternoon of March 28 to deliver a short lightning talk on Urwid. I have now posted the "slides" from that talk in the urwid-contrib repository.
The video of my talk is available on the PyCon site if you don't mind waiting for the video to load half way (I couldn't get seeking to work from here). The video quality of the presentation is poor, however, so I would suggest running it yourself it you're interested.
This is how you can get it running on your computer:
hg clone https://excess.org/hg/urwid-contrib
hg clone https://excess.org/hg/urwid
ln -s ../urwid/urwid urwid-contrib
urwid-contrib/pycon200903.py
The slides use Urwid's new 256-colour support and palette setting features. The latter is only supported by xterm, so for the full effect be sure to run it with xterm.
This is a maintenance release that adds compatibility with Python 2.6 and fixes a number of bugs.
The latest development version of Urwid's raw_display module now supports 88 and 256-colour modes. Colour modes now also support underline, standout, and bold(separate from bright colours when available.)
The default high colour palettes include a colour cube (4x4x4 or 6x6x6) and a gray scale (8 or 24 values.) I made the assumption that most application developers won't care whether a user has 88 or 256 colours, just that they have more than the usual 16. This led me to the following naming scheme for high colours:
#000 .. #fff for colours in the colour-cube
g0 ... g100 for values in the gray scale (g#00 .. g#ff also work)
h0 ... h87 or h255 for a precise colour
Walter Mundt contributed twisted support for Urwid in the new function twisted_main_loop().
This function behaves similarly to the new generic_main_loop() in the development version of Urwid.
This is a maintenance release that fixes a memory leak and a canvas bug affecting Urwid 0.9.8, 0.9.8.1 and 0.9.8.2.
In this release the scale maximum has been moved to above 1GB/s (for all the people with really fast network adapters out there) and a number of small improvements were made.
Tags: Urwid Speedometer Python
This is a maintenance release that fixes a number of bugs that have been found in 0.9.8.1.