diff options
Diffstat (limited to 'docs/changelog.rst')
-rw-r--r-- | docs/changelog.rst | 1095 |
1 files changed, 1095 insertions, 0 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst new file mode 100644 index 0000000..0bfb7c5 --- /dev/null +++ b/docs/changelog.rst @@ -0,0 +1,1095 @@ + +Changelog +--------- + + +Urwid 1.2.1 +=========== + +2014-04-04 + + * Fix false failures of event loop tests + + * Remove extra newline generated on exit of raw_display + + * Documentation fixes (by Paul Ivanov) + + +Urwid 1.2.0 +=========== + +2014-02-09 + + * Add support for PyPy, drop support for Python 2.4, 2.5 + + * Signals now support using weakly referenced arguments to help + avoid leaking objects when a signal consumer is no longer + referenced (by Matthijs Kooijman) + + * Add TornadoEventLoop class (by Alexander Glyzov) + + * Update GlibEventLoop to use python-gi for Python3 compatibility + (by Israel Garcia) + + * Automate testing with Python 2.6, 2.7, 3.2, 3.3 and PyPy using + travis-ci + + * New container method get_focus_widgets() (by Matthijs Kooijman) + + * Add support for double and triple click mouse events + (by Igor Kotrasiński) + + * Allow disabling and re-enabling of mouse tracking + (by Jim Garrison) + + * Create section in docs for example program screenshots generated + as images like the tutorial examples + + * Add suggested basic color combination images to manual + + * Fall back to 80x24 if screen size detection fails + + * Fix screen.stop(), screen.start() disabling mouse events + + * Fix to make GridFlow v_sep argument behave as documented + + * Fix for registering high palette entries in the form "hX" where + X > 15 so that basic colors are applied in 88-color mode + + * Fix for raw_display clear-right escape not working with + standout attribute on some terminals + + * Fix for Terminal widget select loop: retry when interrupted + + +Urwid 1.1.2 +=========== + +2013-12-30 + + * Move to urwid.org and use sphinx docs for generating whole site, + move changelog to docs/changelog.rst + + * Fix encoding exceptions when unicode used on non-UTF-8 terminal + + * Fix for suspend and resume applications with ^Z + + * Fix for tmux and screen missing colors on right bug + + * Fix Pile zero-weighted items and mouse_event when empty + + * Fix Terminal select() not retrying when interrupted by signal + + * Fix for Padding.align and width change not invalidating + + +Urwid 1.1.1 +=========== + +2012-11-15 + + * Fix for Pile not changing focus on mouse events + + * Fix for Overlay.get_cursor_coords() + + +Urwid 1.1.0 +=========== + +2012-10-23 + + * New common container API: focus, focus_position, contents, + options(), get_focus_path(), set_focus_path(), __getitem__, + __iter__(), __reversed__() implemented across all included + container widgets + + A full description doesn't fit here, see the Container Widgets + section in the manual for details + + * New Sphinx-based documentation now included in source: + Tutorial rewritten, manual revised and new reference based + on updated docstrings (by Marco Giusti, Patrick Totzke) + + * New list walker SimpleFocusListWalker like SimpleListWalker but + updates focus position as items are inserted or removed + + * New decoration widget WidgetDisable to disable interaction + with the widgets it wraps + + * SelectableIcon selectable text widget used by button widgets is + now documented (available since 0.9.9) + + * Columns widget now tries to keep column in focus visible, hiding + columns on the left when necessary + + * Padding widget now defaults to ('relative', 100) instead of + 'pack' so that left and right parameters are more useful and more + child widgets are supported + + * New list walker "API Version 2" that is simpler for many list + walker uses; "API Version 1" will still continue to be supported + + * List walkers may now allow iteration from the absolute top or + bottom of the list if they provide a positions() method + + * raw_display now erases to the end of the line with EL escape + sequence to improve copy+paste behavior for some terminals + + * Filler now has top and bottom parameters like Padding's left and + right parameters and accepts 'pack' instead of None as a height + value for widgets that calculate their own number of rows + + * Pile and Columns now accepts 'pack' instead of 'flow' for widgets + that calculate their own number of rows or columns + + * Pile and Columns now accept 'given' instead of 'fixed' for + cases where the number of rows or columns are specified by the + container options + + * Pile and Columns widgets now accept any iterable to their + __init__() methods + + * Widget now has a default focus_position property that raises + an IndexError when read to be consistent with new common container + API + + * GridFlow now supports multiple cell widths within the same widget + + * BoxWidget, FlowWidget and FixedWidget are deprecated, instead + use the sizing() function or _sizing attribute to specify the + supported sizing modes for your custom widgets + + * Some new shift+arrow and numpad input sequences from RXVT and + xterm are now recognized + + * Fix for alarms when used with a screen event loop (e.g. + curses_display) + + * Fix for raw_display when terminal width is 1 column + + * Fixes for a Columns.get_cursor_coords() regression and a + SelectableIcon.get_cursor_coords() bug + + * Fixes for incorrect handling of box columns in a number of + Columns methods when that column is selectable + + * Fix for Terminal widget input handling with Python 3 + + +Urwid 1.0.3 +=========== + +2012-11-15 + + * Fix for alarms when used with a screen event loop (e.g. + curses_display) + + * Fix for Overlay.get_cursor_coords() + + +Urwid 1.0.2 +=========== + +2012-07-13 + + * Fix for bug when entering Unicode text into Edit widget with + bytes caption + + * Fix a regression when not running in UTF-8 mode + + * Fix for a MainLoop.remove_watch_pipe() bug + + * Fix for a bug when packing empty Edit widgets + + * Fix for a ListBox "contents too long" error with very large + Edit widgets + + * Prevent ListBoxes from selecting 0-height selectable widgets + when moving up or down + + * Fix a number of bugs caused by 0-height widgets in a ListBox + + +Urwid 1.0.1 +=========== + +2011-11-28 + + * Fix for Terminal widget in BSD/OSX + + * Fix for a Filler mouse_event() position bug + + * Fix support for mouse positions up to x=255, y=255 + + * Fixes for a number of string encoding issues under Python 3 + + * Fix for a LineBox border __init__() parameters + + * Fix input input of UTF-8 in tour.py example by converting captions + to unicode + + * Fix tutorial examples' use of TextCanvas and switch to using + unicode literals + + * Prevent raw_display from calling tcseattr() or tcgetattr() on + non-ttys + + * Disable curses_display external event loop support: screen resizing + and gpm events are not properly supported + + * Mark PollingListWalker as deprecated + + +Urwid 1.0.0 +=========== + +2011-09-22 + + * New support for Python 3.2 from the same 2.x code base, + requires distribute instead of setuptools (by Kirk McDonald, + Wendell, Marien Zwart) everything except TwistedEventLoop and + GLibEventLoop is supported + + * New experimental Terminal widget with xterm emulation and + terminal.py example program (by aszlig) + + * Edit widget now supports a mask (for passwords), has a + insert_text_result() method for full-field validation and + normalizes input text to Unicode or bytes based on the caption + type used + + * New TreeWidget, TreeNode, ParentNode, TreeWalker + and TreeListBox classes for lazy expanding/collapsing tree + views factored out of browse.py example program, with new + treesample.py example program (by Rob Lanphier) + + * MainLoop now calls draw_screen() just before going idle, so extra + calls to draw_screen() in user code may now be removed + + * New MainLoop.watch_pipe() method for subprocess or threaded + communication with the process/thread updating the UI, and new + subproc.py example demonstrating its use + + * New PopUpLauncher and PopUpTarget widgets and MainLoop option + for creating pop-ups and drop-downs, and new pop_up.py example + program + + * New twisted_serve_ssh.py example (by Ali Afshar) that serves + multiple displays over ssh from the same application using + Twisted and the TwistedEventLoop + + * ListBox now includes a get_cursor_coords() method, allowing + nested ListBox widgets + + * Columns widget contents may now be marked to always be treated + as flow widgets for mixing flow and box widgets more easily + + * New lcd_display module with support for CF635 USB LCD panel and + lcd_cf635.py example program with menus, slider controls and a custom + font + + * Shared command_map instance is now stored as Widget._command_map + class attribute and may be overridden in subclasses or individual + widgets for more control over special keystrokes + + * Overlay widget parameters may now be adjusted after creation with + set_overlay_parameters() method + + * New WidgetPlaceholder widget useful for swapping widgets without + having to manipulate a container widget's contents + + * LineBox widgets may now include title text + + * ProgressBar text content and alignment may now be overridden + + * Use reactor.stop() in TwistedEventLoop and document that Twisted's + reactor is not designed to be stopped then restarted + + * curses_display now supports AttrSpec and external event loops + (Twisted or GLib) just like raw_display + + * raw_display and curses_display now support the IBMPC character + set (currently only used by Terminal widget) + + * Fix for a gpm_mev bug preventing user input when on the console + + * Fix for leaks of None objects in str_util extension + + * Fix for WidgetWrap and AttrMap not working with fixed widgets + + * Fix for a lock up when attempting to wrap text containing wide + characters into a single character column + + +Urwid 0.9.9.2 +============= + +2011-07-13 + + * Fix for an Overlay get_cursor_coords(), and Text top-widget bug + + * Fix for a Padding rows() bug when used with width=PACK + + * Fix for a bug with large flow widgets used in an Overlay + + * Fix for a gpm_mev bug + + * Fix for Pile and GraphVScale when rendered with no contents + + * Fix for a Python 2.3 incompatibility (0.9.9 is the last release + to claim support Python 2.3) + + +Urwid 0.9.9.1 +============= + +2010-01-25 + + * 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 +=========== + +2009-11-15 + + * 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 +============= + +2009-03-13 + + * 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 +============= + +2008-07-14 + + * 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 +============= + +2008-05-19 + + * 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 + tutorial and a LineBox lline parameter typo. + + +Urwid 0.9.8.1 +============= + +2007-06-21 + + * Fixed a Filler render() bug, a raw_display start()/stop() bug and a + number of problems triggered by very small terminal window sizes. + + +Urwid 0.9.8 +=========== + +2007-03-23 + + * Rendering is now significantly faster. + + * 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. + + * External event loops may now be used with the raw_display module. The + new methods get_input_descriptors() and get_input_nonblocking() + should be used instead of get_input() to allow input processing + without blocking. + + * The Columns, Pile and ListBox widgets now choose their first + selectable child widget as the focus widget by defaut. + + * New ListWalker base class for list walker classes. + + * New Signals class that will be used to improve the existing event + callbacks. Currently it is used for ListWalker objects to notify + their ListBox when their content has changed. + + * SimpleListWalker now behaves as a list and supports all list + operations. This class now detects when changes are made to the list + and notifies the ListBox object. New code should use this class to + wrap lists of widgets before passing them to the ListBox + constructor. + + * New PollingListWalker class is now the default list walker that is + used when passing a simple list to the ListBox constructor. This + class is intended for backwards compatibility only. When this class + is used the ListBox object is unable to cache its render() method. + + * The curses_display module can now draw in the lower-right corner of + the screen. + + * All display modules now have start() and stop() methods that may be + used instead of calling run_wrapper(). + + * The raw_display module now uses an alternate buffer so that the + original screen can be restored on exit. The old behaviour is + available by seting the alternate_buffer parameter of start() or + run_wrapper() to False. + + * 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. + + +Urwid 0.9.7.2 +============= + +2007-01-03 + + * Improved performance in UTF-8 mode when ASCII text is used. + + * Fixed a UTF-8 input bug. + + * Added a clear() function to the the display modules to force the + screen to be repainted on the next draw_screen() call. + + +Urwid 0.9.7.1 +============= + +2006-10-03 + + * Fixed bugs in Padding and Overlay widgets introduced in 0.9.7. + + +Urwid 0.9.7 +=========== + +2006-10-01 + + * Added initial support for fixed widgets - widgets that have a fixed + size on screen. Fixed widgets expect a size parameter equal to (). + Fixed widgets must implement the pack(..) function to return their + size. + + * New BigText class that draws text with fonts made of grids of + character cells. BigText is a fixed widget and doesn't do any + alignment or wrapping. It is intended for banners and number readouts + that need to stand out on the screen. + + Fonts: Thin3x3Font, Thin4x3Font, Thin6x6Font (full ascii) + + UTF-8 only fonts: HalfBlock5x4Font, HalfBlock6x5Font, + HalfBlockHeavy6x5Font, HalfBlock7x7Font (full ascii) + + New function get_all_fonts() may be used to get a list of the + available fonts. + + * New example program bigtext.py demonstrates use of BigText. + + * Padding class now has a clipping mode that pads or clips fixed + widgets to make them behave as flow widgets. + + * 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 a bug in Filler.get_cursor_coords() that causes a crash if the + contained widget's get_cursor_coords() function returns None. + + * Fixed a bug in Text.pack() that caused an infinite loop when the text + contained a newline. This function is not currently used by Urwid. + + * Edit.__init__() now calls set_edit_text() to initialize its text. + + * Overlay.calculate_padding_filler() and Padding.padding_values() now + include focus parameters. + + +Urwid 0.9.6 +=========== + +2006-08-22 + + * Fixed Unicode conversion and locale issues when using Urwid with + Python < 2.4. The graph.py example program should now work properly + with older versions of Python. + + * The docgen_tutorial.py script can now write out the tutorial example + programs as individual files. + + * Updated reference documentation table of contents to show which + widgets are flow and/or box widgets. + + * Columns.set_focus(..) will now accept an integer or a widget as its + parameter. + + * Added detection for rxvt's HOME and END escape sequences. + + * Added support for setuptools (improved distutils). + + +Urwid 0.9.5 +=========== + +2006-06-14 + + * Some Unicode characters are now converted to use the G1 alternate + character set with DEC special and line drawing characters. These + Unicode characters should now "just work" in almost all terminals and + encodings. + + When Urwid is run with the UTF-8 encoding the characters are left as + UTF-8 and not converted. + + The characters converted are: + + \u00A3 (£), \u00B0 (°), \u00B1 (±), \u00B7 (·), \u03C0 (π), + \u2260 (≠), \u2264 (≤), \u2265 (≥), \u23ba (⎺), \u23bb (⎻), + \u23bc (⎼), \u23bd (⎽), \u2500 (─), \u2502 (│), \u250c (┌), + \u2510 (┐), \u2514 (└), \u2518 (┘), \u251c (├), \u2524 (┤), + \u252c (┬), \u2534 (┴), \u253c (┼), \u2592 (▒), \u25c6 (◆) + + * New SolidFill class for filling an area with a single character. + + * New LineBox class for wrapping widgets in a box made of line- drawing + characters. May be used as a box widget or a flow widget. + + * New example program graph.py demonstrates use of BarGraph, LineBox, + ProgressBar and SolidFill. + + * Pile class may now be used as a box widget and contain a mix of box + and flow widgets. + + * Columns class may now contain a mix of box and flow widgets. The box + widgets will take their height from the maximum height of the flow + widgets. + + * Improved the smoothness of resizing with raw_display module. The + module will now try to stop updating the screen when a resize event + occurs during the update. + + * The Edit and IntEdit classes now use their set_edit_text() and + set_edit_pos() functions when handling keypresses, so those functions + may be overridden to catch text modification. + + * The set_state() functions in the CheckBox and RadioButton classes now + have a do_callback parameter that determines if the callback function + registered will be called. + + * Fixed a newly introduced incompatibility with python < 2.3. + + * Fixed a missing symbol in curses_display when python is linked + against libcurses. + + * Fixed mouse handling bugs in the Frame and Overlay classes. + + * Fixed a Padding bug when the left or right has no padding. + + +Urwid 0.9.4 +=========== + +2006-05-30 + + * Enabled mouse handling across the Urwid library. + + Added a new mouse_event() method to the Widget interface definition + and to the following widgets: Edit, CheckBox, RadioButton, Button, + GridFlow, Padding, Filler, Overlay, Frame, Pile, Columns, BoxAdapter + and ListBox. + + Updated example programs browse.py, calc.py, dialog.py, edit.py and + tour.py to support mouse input. + + * Released the files used to generate the reference and tutorial + documentation: docgen_reference.py, docgen_tutorial.py and + tmpl_tutorial.html. The "docgen" scripts write the documentation to + stdout. docgen_tutorial.py requires the Templayer HTML templating + library to run: http://excess.org/templayer/ + + * Improved Widget and List Walker interface documentation. + + * Fixed a bug in the handling of invalid UTF-8 data. All invalid + characters are now replaced with '?' characters when displayed. + + +Urwid 0.9.3 +=========== + +2006-05-14 + + * Improved mouse reporting. + + The raw_display module now detects gpm mouse events by reading + /usr/bin/mev output. The curses_display module already supports gpm + directly. + + Mouse drag events are now reported by raw_display in terminals that + provide button event tracking and on the console with gpm. Note that + gpm may report coordinates off the screen if the user drags the mouse + off the edge. + + Button release events now report which button was released if that + information is available, currently only on the console with gpm. + + * Added display of raw keycodes to the input_test.py example program. + + * Fixed a text layout bug affecting clipped text with blank lines, and + another related to wrapped text starting with a space character. + + * Fixed a Frame.keypress() bug that caused it to call keypress on + unselectable widgets. + + +Urwid 0.9.2 +=========== + +2006-03-18 + + * Preliminary mouse support was added to the raw_display and + curses_display modules. A new Screen.set_mouse_tracking() method was + added to enable mouse tracking. Mouse events are returned alongside + keystrokes from the Screen.get_input() method. + + The widget interface does not yet include mouse handling. This will + be addressed in the next release. + + * A new convenience function is_mouse_event() was added to help in + separating mouse events from keystrokes. + + * Added a new example program input_test.py. This program displays the + keyboard and mouse input it receives. It may be run as a CGI script + or from the command line. On the command line it defaults to using + the curses_display module, use input_test.py raw to use the + raw_display module instead. + + * Fixed an Edit.render() bug that caused it to render the cursor in a + different location than that reported by Edit.get_cursor_coords() in + some circumstances. + + * Fixed a bug preventing use of UTF-8 characters with Divider widgets. + + +Urwid 0.9.1 +=========== + +2006-03-06 + + * BarGraph and ProgressBar can now display data more accurately by + using the UTF-8 vertical and horizontal eighth characters. This + behavior will be enabled when the UTF-8 encoding is detected and + "smoothed" attributes are passed to the BarGraph or ProgressBar + constructors. + + * New get_encoding_mode() function to determine how Urwid will treat + raw string data. + + * New raw_display.signal_init() and raw_display.signal_restore() + methods that may be overridden by threaded applications that need to + call signal.signal() from their main thread. + + * Fixed a bug that prevented the use of UTF-8 strings in text markup. + + * Removed some forgotten asserts that broke 8-bit and CJK input. + + +Urwid 0.9.0 +=========== + +2006-02-18 + + * New support for UTF-8 encoding including input, display and editing + of narrow and wide (CJK) characters. + + Preliminary combining (zero-width) character support is included, but + full support will require terminal behavior detection. + + Right-to-Left input and display are not implemented. + + * New raw_display module that handles console display without relying + on external libraries. This module was written as a work around for + the lack of UTF-8 support in the standard version of ncurses. + + Eliminates "dead corner" in the bottom right of the screen. + + Avoids use of bold text in xterm and gnome-terminal for improved + text legibility. + + * Fixed Overlay bug related to UTF-8 handling. + + * Fixed Edit.move_cursor_to_coords(..) bug related to wide characters + in UTF-8 encoding. + + +Urwid 0.9.0-pre3 +================ + +2006-02-13 + + * Fixed Canvas attribute padding bug related to -pre1 changes. + + +Urwid 0.9.0-pre2 +================ + +2006-02-10 + + * Replaced the custom align and wrap modes in example program calc.py + with a new layout class. + + * Fixed Overlay class call to Canvas.overlay() broken by -pre1 changes. + + * Fixed Padding bug related to Canvas -pre1 changes. + + +Urwid 0.9.0-pre1 +================ + +2006-02-08 + + * New support for UTF-8 encoding. Unicode strings may be used and will + be converted to the current encoding when output. Regular strings in + the current encoding may still be used. + + PLEASE NOTE: There are issues related to displaying UTF-8 characters + with the curses_display module that have not yet been resolved. + + * New set_encoding() function replaces util.set_double_byte_encoding(). + + * New supports_unicode() function to query if unicode strings with + characters outside the ascii range may be used with the current + encoding. + + * New TextLayout and StandardTextLayout classes to perform text + wrapping and alignment. Text widgets now have a layout parameter to + allow use of custom TextLayout objects. + + * New layout structure replaces line translation structure. Layout + structure now allows arbitrary reordering/positioning of text + segments, inclusion of UTF-8 characters and insertion of text not + found in the original text string. + + * Removed util.register_align_mode() and util.register_wrap_mode(). + Their functionality has been replaced by the new layout classes. + + +Urwid 0.8.10 +============ + +2005-11-27 + + * Expanded tutorial to cover advanced ListBox usage, custom widget + classes and the Pile, BoxAdapter, Columns, GridFlow and Overlay + classes. + + * Added escape sequence for "shift tab" to curses_display. + + * Added ListBox.set_focus_valign() to allow positioning of the focus + widget within the ListBox. + + * Added WidgetWrap class for extending existing widgets without + inheriting their complete namespace. + + * Fixed web_display/mozilla breakage from 0.8.9. Fixed crash on invalid + locale setting. Fixed ListBox slide-back bug. Fixed improper space + trimming in calculate_alignment(). Fixed browse.py example program + rows bug. Fixed sum definition, use of long ints for python2.1. Fixed + warnings with python2.1. Fixed Padding.get_pref_col() bug. Fixed + Overlay splitting CJK characters bug. + + +Urwid 0.8.9 +=========== + +2005-10-21 + + * New Overlay class for drawing widgets that obscure parts of other + widgets. May be used for drop down menus, combo boxes, overlapping + "windows", caption text etc. + + * New BarGraph, GraphVScale and ProgressBar classes for graphical + display of data in Urwid applications. + + * New method for configuring keyboard input timeouts and delays: + curses_display.Screen.set_input_timeouts(). + + * Fixed a ListBox.set_focus() bug. + + +Urwid 0.8.8 +=========== + +2005-06-13 + + * New web_display module that emulates a console display within a web + browser window. Application must be run as a CGI script under Apache. + + Supports font/window resizing, keepalive for long-lived connections, + limiting maximum concurrent connections, polling and connected update + methods. Tested with Mozilla Firefox and Internet Explorer. + + * New BoxAdapter class for using box widgets in places that usually + expect flow widgets. + + * New curses_display input handling with better ESC key detection and + broader escape code support. + + * Shortened resize timeout on gradual resize to improve responsiveness. + + +Urwid 0.8.7 +=========== + +2005-05-21 + + * New widget classes: Button, RadioButton, CheckBox. + + * New layout widget classes: Padding, GridFlow. + + * New dialog.py example program that behaves like dialog(1) command. + + * Pile widgets now support selectable items, focus changing with up and + down keys and setting the cursor position. + + * Frame widgets now support selectable items in the header and footer. + + * Columns widgets now support fixed width and relative width columns, a + minimum width for all columns, selectable items within columns + containing flow widgets (already supported for box widgets), focus + changing with left and right keys and setting the cursor position. + + * Filler widgets may now wrap box widgets and have more alignment options. + + * Updated tour.py example program to show new widget types and + features. + + * Avoid hogging cpu on gradual window resize and fix for slow resize + with cygwin's broken curses implementation. + + * Fixed minor CJK problem and curs_set() crash under MacOSX and Cygwin. + + * Fixed crash when deleting cells in calc.py example program. + + +Urwid 0.8.6 +=========== + +2005-01-03 + + * Improved support for CJK double-byte encodings: BIG5, UHC, GBK, + GB2312, CN-GB, EUC-KR, EUC-CN, EUC-JP (JISX 0208 only) and EUC-TW + (CNS 11643 plain 1 only) + + * Added support for ncurses' use_default_colors() function to + curses_display module (Python >= 2.4). + + register_palette() and register_palette_entry() now accept "default" + as foreground and/or background. If the terminal's default attributes + cannot be detected black on light gray will be used to accomodate + terminals with always-black cursors. + + "default" is now the default for text with no attributes. This means + that areas with no attributes will change from light grey on black + (curses default) to black on light gray or the terminal's default. + + * Modified examples to not use black as background of Edit widgets. + + * Fixed curses_display curs_set() call so that cursor is hidden when + widget in focus has no cursor position. + + +Urwid 0.8.5 +=========== + +2004-12-15 + + * New tutorial covering basic operation of: curses_display.Screen, + Canvas, Text, FlowWidget, Filler, BoxWidget, AttrWrap, Edit, ListBox + and Frame classes + + * New widget class: Filler + + * New ListBox functions: get_focus(), set_focus() + + * Debian packages for Python 2.4. + + * Fixed curses_display bug affecting text with no attributes. + + +Urwid 0.8.4 +=========== + +2004-11-20 + + * Improved support for Cyrillic and other simple 8-bit encodings. + + * Added new functions to simplify taking screenshots: + html_fragment.screenshot_init() and + html_fragment.screenshot_collect() + + * Improved urwid/curses_display.py input debugging + + * Fixed cursor in screenshots of CJK text. Fixed "end" key in Edit + boxes with CJK text. + + +Urwid 0.8.3 +=========== + +2004-11-15 + + * Added support for CJK double-byte encodings. + + Word wrapping mode "space" will wrap on edges of double width + characters. Wrapping and clipping will not split double width + characters. + + curses_display.Screen.get_input() may now return double width + characters. Text and Edit classes will work with a mix of regular and + double width characters. + + * Use new method Edit.set_edit_text() instead of Edit.update_text(). + + * Minor improvements to edit.py example program. + + +Urwid 0.8.2 +=========== + +2004-11-08 + + * Re-released under GNU Lesser General Public License. + + +Urwid 0.8.1 +=========== + +2004-10-29 + + * Added support for monochrome terminals. see + curses_display.Screen.register_palette_entry() and example programs. + set TERM=xterm-mono to test programs in monochrome mode. + + * Added unit testing code test_urwid.py to the examples. + + * Can now run urwid/curses_display.py to test your terminal's input and + colour rendering. + + * Fixed an OSX browse.py compatibility issue. Added some OSX keycodes. + + +Urwid 0.8.0 +=========== + +2004-10-17 + + * Initial Release |