Fix PR pkg/43104
pkgsrc-changes:
o added documentation and example
o use setuptools
Changelog
- Urwid 0.9.9.1
* Fix for ListBox snapping to selectable widgets taller than the
ListBox itself
* raw_display switching to alternate buffer now works properly with
Terminal.app
* Fix for BoxAdapter backwards incompatibility introduced in 0.9.9
* Fix for a doctest failure under powerpc
* Fix for systems with gpm_mev installed but not running gpm
- Urwid 0.9.9
* New support for 256 and 88 color terminals with raw_display
and html_fragment display modules
* New palette_test example program to demonstrate high color
modes
* New AttrSpec class for specifying specific colors instead of
using attributes defined in the screen's palette
* New MainLoop class ties together widgets, user input, screen
display and one of a number of new event loops, removing the
need for tedious, error-prone boilerplate code
* New GLibEventLoop allows running Urwid applications with GLib
(makes D-Bus integration easier)
* New TwistedEventLoop allows running Urwid with a Twisted reactor
* Added new docstrings and doctests to many widget classes
* New AttrMap widget supports mapping any attribute to any other
attribute, replaces AttrWrap widget
* New WidgetDecoration base class for AttrMap, BoxAdapter, Padding,
Filler and LineBox widgets creates a common method for accessing
and updating their contained widgets
* New left and right values may be specified in Padding widgets
* New command_map for specifying which keys cause actions such as
clicking Button widgets and scrolling ListBox widgets
* New tty_signal_keys() method of raw_display.Screen and
curses_display.Screen allows changing or disabling the keys used
to send signals to the application
* Added helpful __repr__ for many widget classes
* Updated all example programs to use MainLoop class
* Updated tutorial with MainLoop usage and improved examples
* Renamed WidgetWrap.w to _w, indicating its intended use as a way
to implement a widget with other widgets, not necessarily as
a container for other widgets
* Replaced all tabs with 4 spaces, code is now more aerodynamic
(and PEP 8 compliant)
* Added saving of stdin and stdout in raw_display module allowing
the originals to be redirected
* Updated BigText widget's HalfBlock5x4Font
* Fixed graph example CPU usage when animation is stopped
* Fixed a memory leak related to objects listening for signals
* Fixed a Popen3 deprecation warning
- Urwid 0.9.8.4
* Fixed incompatibilities with Python 2.6 (by Friedrich Weber)
* Fixed a SimpleListWalker with emptied list bug (found by Walter
Mundt)
* Fixed a curses_display stop()/start() bug (found by Christian
Scharkus)
* Fixed an is_wide_character() segfault on bad input data bug
(by Andrew Psaltis)
* Fixed a CanvasCache with render() used in both a widget and its
superclass bug (found by Andrew Psaltis)
* Fixed a ListBox.ends_visible() on empty list bug (found by Marc
Hartstein)
* Fixed a tutorial example bug (found by Kurtis D. Rader)
* Fixed an Overlay.keypress() bug (found by Andreas Klöckner)
* Fixed setuptools configuration (by Andreas Klöckner)
- Urwid 0.9.8.3
* Fixed a canvas cache memory leak affecting 0.9.8, 0.9.8.1 and
0.9.8.2 (found by John Goodfellow)
* Fixed a canvas fill_attr() bug (found by Joern Koerner)
- Urwid 0.9.8.2
* Fixed incompatibilities with Python 2.3
* Fixed Pile cursor pref_col bug, WidgetWrap rows caching bug, Button
mouse_event with no callback bug, Filler body bug triggered by the
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
Full changelog is at http://excess.org/urwid/wiki/ChangeLog
- Rendering is now significantly faster.
- The curses_display module can now draw in the lower-right corner of the screen.
- New Widget base class for all widgets. It includes automatic caching of rows() and render() methods. It also adds a new __super attribute for accessing methods in superclasses.
- Widgets must now call self._invalidate() to notify the cache when their content has changed.
- To disable caching in a widget set the class variable no_cache to a list that includes the string "render".
- Canvas classes have been reorganized: Canvas has been renamed to TextCanvas and Canvas is now the base class for all canvases. New canvas classes include BlankCanvas, SolidCanvas and CompositeCanvas.
- All display modules now have start() and stop() methods that may be used instead of calling run_wrapper().
- Many internal string processing functions have been rewritten in C to improve their performance.
- Compatible with Python >= 2.2. Python 2.1 is no longer supported.
- Improved performance in UTF-8 mode when ASCII text is used.
- Added a clear() function to the the display modules to force the screen to be repainted on the next draw_screen() call.
Take maintainership, agreed by minskim@
From changelog:
* tons of bugfixes
* Added initial support for fixed widgets - widgets that have a
fixed size on screen.
* New BigText class that draws text with fonts made of grids of
character cells.
* Overlay class can now accept a fixed widget as the widget to
display "on top".
* New Canvas functions: pad_trim(..) and pad_trim_left_right(..).
* Fixed Unicode conversion and locale issues when using Urwid with
Python < 2.4.
a private email.
Changes since 0.8.4:
- Many new widgets including Filler, Button, RadioButton, CheckBox, etc.
- Improved support for CJK encodings.
- Expanded tutorial.
- Bug fixes.
Urwid is a curses-based user interface library. It includes many
features useful for text console application developers including,
fluid interface resizing (xterm window resizing / fbset on Linux
console), support for 8-bit and CJK encodings, multiple text alignment
and wrapping modes built-in, ability to register user-defined text
alignment and wrapping modes, simple markup for setting text
attributes, powerful list box that handles scrolling between different
widget types, list box contents may be managed with a user-defined
class, flexible edit box for editing many different types of text, and
easy interface for creating HTML screen shots.