diff options
author | Ian Ward <ian@excess.org> | 2013-12-29 22:03:53 -0500 |
---|---|---|
committer | Ian Ward <ian@excess.org> | 2013-12-29 22:03:53 -0500 |
commit | f79abca8752ae4bc4e9e3378aac00ef03140b253 (patch) | |
tree | 4082852114bd798933146431912ade81c664976f | |
parent | e7fbc30012131a7255b23995534406f0e39f5e77 (diff) | |
download | urwid-f79abca8752ae4bc4e9e3378aac00ef03140b253.tar.gz |
fix up changelog.rst
-rw-r--r-- | docs/changelog.rst | 1175 | ||||
-rw-r--r-- | docs/index.rst | 2 |
2 files changed, 646 insertions, 531 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst index 77dfc83..0c45319 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -3,913 +3,1028 @@ Changelog --------- Urwid 1.1.2 +=========== - * Fix encoding exceptions when unicode used on non-UTF-8 terminal + * Fix encoding exceptions when unicode used on non-UTF-8 terminal - * Fix for suspend and resume applications with ^Z + * Fix for suspend and resume applications with ^Z - * Fix for tmux and screen missing colors on right bug + * Fix for tmux and screen missing colors on right bug - * Fix Pile zero-weighted items and mouse_event when empty + * Fix Pile zero-weighted items and mouse_event when empty - * Fix Terminal select() not retrying when interrupted by signal + * Fix Terminal select() not retrying when interrupted by signal - * Fix for Padding.align and width change not invalidating + * Fix for Padding.align and width change not invalidating Urwid 1.1.1 +=========== - * Fix for Pile not changing focus on mouse events +2012-11-15 - * Fix for Overlay.get_cursor_coords() + * 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 + * 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 + 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 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 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 + * 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) + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 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 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 + * 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 + * 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 + * 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 + * 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 + * 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 alarms when used with a screen event loop (e.g. + curses_display) - * Fix for raw_display when terminal width is 1 column + * 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 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 + * 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 + * 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 alarms when used with a screen event loop (e.g. + curses_display) - * Fix for Overlay.get_cursor_coords() + * Fix for Overlay.get_cursor_coords() Urwid 1.0.2 +=========== - * Fix for bug when entering Unicode text into Edit widget with - bytes caption +2012-07-13 - * Fix a regression when not running in UTF-8 mode + * Fix for bug when entering Unicode text into Edit widget with + bytes caption - * Fix for a MainLoop.remove_watch_pipe() bug + * Fix a regression when not running in UTF-8 mode - * Fix for a bug when packing empty Edit widgets + * Fix for a MainLoop.remove_watch_pipe() bug - * Fix for a ListBox "contents too long" error with very large - Edit widgets + * Fix for a bug when packing empty Edit widgets - * Prevent ListBoxes from selecting 0-height selectable widgets - when moving up or down + * Fix for a ListBox "contents too long" error with very large + Edit widgets - * Fix a number of bugs caused by 0-height widgets in a ListBox + * 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 Terminal widget in BSD/OSX - * Fix for a Filler mouse_event() position bug + * Fix for a Filler mouse_event() position bug - * Fix support for mouse positions up to x=255, y=255 + * Fix support for mouse positions up to x=255, y=255 - * Fixes for a number of string encoding issues under Python 3 + * Fixes for a number of string encoding issues under Python 3 - * Fix for a LineBox border __init__() parameters + * Fix for a LineBox border __init__() parameters - * Fix input input of UTF-8 in tour.py example by converting captions - to unicode + * 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 + * Fix tutorial examples' use of TextCanvas and switch to using + unicode literals - * Prevent raw_display from calling tcseattr() or tcgetattr() on - non-ttys + * 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 + * Disable curses_display external event loop support: screen resizing + and gpm events are not properly supported - * Mark PollingListWalker as deprecated + * 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 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) + * 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 + * 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) + * 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 + * 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 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 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * New WidgetPlaceholder widget useful for swapping widgets without + having to manipulate a container widget's contents - * LineBox widgets may now include title text + * LineBox widgets may now include title text - * ProgressBar text content and alignment may now be overridden + * 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 + * 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 + * 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) + * 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 a gpm_mev bug preventing user input when on the console - * Fix for leaks of None objects in str_util extension + * Fix for leaks of None objects in str_util extension - * Fix for WidgetWrap and AttrMap not working with fixed widgets + * 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 + * Fix for a lock up when attempting to wrap text containing wide + characters into a single character column Urwid 0.9.9.2 +============= - * Fix for an Overlay get_cursor_coords(), and Text top-widget bug +2011-07-13 - * Fix for a Padding rows() bug when used with width=PACK + * Fix for an Overlay get_cursor_coords(), and Text top-widget bug - * Fix for a bug with large flow widgets used in an Overlay + * Fix for a Padding rows() bug when used with width=PACK - * Fix for a gpm_mev bug + * Fix for a bug with large flow widgets used in an Overlay - * Fix for Pile and GraphVScale when rendered with no contents + * Fix for a gpm_mev bug - * Fix for a Python 2.3 incompatibility (0.9.9 is the last release - to claim support Python 2.3) + * 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 + * Fix for ListBox snapping to selectable widgets taller than the + ListBox itself - * raw_display switching to alternate buffer now works properly with - Terminal.app + * raw_display switching to alternate buffer now works properly with + Terminal.app - * Fix for BoxAdapter backwards incompatibility introduced in 0.9.9 + * Fix for BoxAdapter backwards incompatibility introduced in 0.9.9 - * Fix for a doctest failure under powerpc + * Fix for a doctest failure under powerpc - * Fix for systems with gpm_mev installed but not running gpm + * 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 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 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 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 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 GLibEventLoop allows running Urwid applications with GLib + (makes D-Bus integration easier) - * New TwistedEventLoop allows running Urwid with a Twisted reactor + * New TwistedEventLoop allows running Urwid with a Twisted reactor - * Added new docstrings and doctests to many widget classes + * Added new docstrings and doctests to many widget classes - * New AttrMap widget supports mapping any attribute to any other - attribute, replaces AttrWrap widget + * 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 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 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 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 + * 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 + * Added helpful __repr__ for many widget classes - * Updated all example programs to use MainLoop class + * 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 + * Updated tutorial with MainLoop usage and improved examples - * Replaced all tabs with 4 spaces, code is now more aerodynamic - (and PEP 8 compliant) + * 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 - * Added saving of stdin and stdout in raw_display module allowing - the originals to be redirected + * Replaced all tabs with 4 spaces, code is now more aerodynamic + (and PEP 8 compliant) - * Updated BigText widget's HalfBlock5x4Font + * Added saving of stdin and stdout in raw_display module allowing + the originals to be redirected - * Fixed graph example CPU usage when animation is stopped + * Updated BigText widget's HalfBlock5x4Font - * Fixed a memory leak related to objects listening for signals + * Fixed graph example CPU usage when animation is stopped - * Fixed a Popen3 deprecation warning + * 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 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 a SimpleListWalker with emptied list bug (found by Walter + Mundt) - * 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 curses_display stop()/start() bug (found by Christian + Scharkus) - * 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 is_wide_character() segfault on bad input data bug + (by Andrew Psaltis) - * Fixed an Overlay.keypress() bug (found by Andreas Klöckner) + * Fixed a CanvasCache with render() used in both a widget and its + superclass bug (found by Andrew Psaltis) - * Fixed setuptools configuration (by Andreas Klöckner) + * 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) +2008-07-14 - * Fixed a canvas fill_attr() bug (found by Joern Koerner) + * 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 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. + * 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 +============= - * Fixed a Filler render() bug, a raw_display start()/stop() bug and a - number of problems triggered by very small terminal window sizes. +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. + * 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. + * 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. + 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". + 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. + * 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. + * 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. + * 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 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. + * 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. + * 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. + * 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. + * 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(). + * 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. + * 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. + * 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. + * 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. + * Improved performance in UTF-8 mode when ASCII text is used. - * Fixed a UTF-8 input bug. + * 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. + * 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 +============= - * Fixed bugs in Padding and Overlay widgets introduced in 0.9.7. +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. + * 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. + * 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) + Fonts: Thin3x3Font, Thin4x3Font, Thin6x6Font (full ascii) - UTF-8 only fonts: HalfBlock5x4Font, HalfBlock6x5Font, - HalfBlockHeavy6x5Font, HalfBlock7x7Font (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 function get_all_fonts() may be used to get a list of the + available fonts. - * New example program bigtext.py demonstrates use of BigText. + * 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. + * 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". + * 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(). + * 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 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. + * 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. + * Edit.__init__() now calls set_edit_text() to initialize its text. - * Overlay.calculate_padding_filler() and Padding.padding_values() now - include focus parameters. + * Overlay.calculate_padding_filler() and Padding.padding_values() now + include focus parameters. Urwid 0.9.6 +=========== - * 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. +2006-08-22 - * The docgen_tutorial.py script can now write out the tutorial example - programs as individual files. + * 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. - * Updated reference documentation table of contents to show which - widgets are flow and/or box widgets. + * The docgen_tutorial.py script can now write out the tutorial example + programs as individual files. - * Columns.set_focus(..) will now accept an integer or a widget as its - parameter. + * Updated reference documentation table of contents to show which + widgets are flow and/or box widgets. - * Added detection for rxvt's HOME and END escape sequences. + * Columns.set_focus(..) will now accept an integer or a widget as its + parameter. - * Added support for setuptools (improved distutils). + * 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. + * 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. + When Urwid is run with the UTF-8 encoding the characters are left as + UTF-8 and not converted. - The characters converted are: + 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 (◆) + \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 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 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. + * 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. + * 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. + * 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. + * 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 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. + * 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 newly introduced incompatibility with python < 2.3. - * Fixed a missing symbol in curses_display when python is linked - against libcurses. + * Fixed a missing symbol in curses_display when python is linked + against libcurses. - * Fixed mouse handling bugs in the Frame and Overlay classes. + * Fixed mouse handling bugs in the Frame and Overlay classes. - * Fixed a Padding bug when the left or right has no padding. + * 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. + * 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. + 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. + 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/ + * 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. + * 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. + * 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 +=========== - * Improved mouse reporting. +2006-05-14 - The raw_display module now detects gpm mouse events by reading - /usr/bin/mev output. The curses_display module already supports gpm - directly. + * Improved mouse reporting. - 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. + The raw_display module now detects gpm mouse events by reading + /usr/bin/mev output. The curses_display module already supports gpm + directly. - Button release events now report which button was released if that - information is available, currently only on the console with gpm. + 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. - * Added display of raw keycodes to the input_test.py example program. + Button release events now report which button was released if that + information is available, currently only on the console with gpm. - * Fixed a text layout bug affecting clipped text with blank lines, and - another related to wrapped text starting with a space character. + * Added display of raw keycodes to the input_test.py example program. - * Fixed a Frame.keypress() bug that caused it to call keypress on - unselectable widgets. + * 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. + * 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. + 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. + * 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. + * 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 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. + * 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. + * 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 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. + * 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. + * 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. + * Removed some forgotten asserts that broke 8-bit and CJK input. Urwid 0.9.0 +=========== - * New support for UTF-8 encoding including input, display and editing - of narrow and wide (CJK) characters. +2006-02-18 - Preliminary combining (zero-width) character support is included, but - full support will require terminal behavior detection. + * New support for UTF-8 encoding including input, display and editing + of narrow and wide (CJK) characters. - Right-to-Left input and display are not implemented. + Preliminary combining (zero-width) character support is included, but + full support will require terminal behavior detection. - * 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. + Right-to-Left input and display are not implemented. - Eliminates "dead corner" in the bottom right of the screen. + * 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. - Avoids use of bold text in xterm and gnome-terminal for improved - text legibility. + Eliminates "dead corner" in the bottom right of the screen. - * Fixed Overlay bug related to UTF-8 handling. + Avoids use of bold text in xterm and gnome-terminal for improved + text legibility. - * Fixed Edit.move_cursor_to_coords(..) bug related to wide characters - in UTF-8 encoding. + * 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. + * 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. + * 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 Overlay class call to Canvas.overlay() broken by -pre1 changes. - * Fixed Padding bug related to Canvas -pre1 changes. + * Fixed Padding bug related to Canvas -pre1 changes. Urwid 0.9.0-pre1 +================ - * 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. +2006-02-08 - PLEASE NOTE: There are issues related to displaying UTF-8 characters - with the curses_display module that have not yet been resolved. + * 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. - * New set_encoding() function replaces util.set_double_byte_encoding(). + PLEASE NOTE: There are issues related to displaying UTF-8 characters + with the curses_display module that have not yet been resolved. - * New supports_unicode() function to query if unicode strings with - characters outside the ascii range may be used with the current - encoding. + * New set_encoding() function replaces util.set_double_byte_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 supports_unicode() function to query if unicode strings with + characters outside the ascii range may be used with the current + encoding. - * 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. + * 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. - * Removed util.register_align_mode() and util.register_wrap_mode(). - Their functionality has been replaced by the new layout classes. + * 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. + * 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 escape sequence for "shift tab" to curses_display. - * Added ListBox.set_focus_valign() to allow positioning of the focus - widget within the ListBox. + * 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. + * 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. + * 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 +=========== - * 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. +2005-10-21 - * New BarGraph, GraphVScale and ProgressBar classes for graphical - display of data in Urwid applications. + * 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 method for configuring keyboard input timeouts and delays: - curses_display.Screen.set_input_timeouts(). + * New BarGraph, GraphVScale and ProgressBar classes for graphical + display of data in Urwid applications. - * Fixed a ListBox.set_focus() bug. + * 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. + * 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. + 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 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. + * New curses_display input handling with better ESC key detection and + broader escape code support. - * Shortened resize timeout on gradual resize to improve responsiveness. + * Shortened resize timeout on gradual resize to improve responsiveness. Urwid 0.8.7 +=========== + +2005-05-21 - * New widget classes: Button, RadioButton, CheckBox. + * New widget classes: Button, RadioButton, CheckBox. - * New layout widget classes: Padding, GridFlow. + * New layout widget classes: Padding, GridFlow. - * New dialog.py example program that behaves like dialog(1) command. + * 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. + * 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. + * 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. + * 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. + * Filler widgets may now wrap box widgets and have more alignment options. - * Updated tour.py example program to show new widget types and - features. + * 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. + * 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 minor CJK problem and curs_set() crash under MacOSX and Cygwin. - * Fixed crash when deleting cells in calc.py example program. + * Fixed crash when deleting cells in calc.py example program. Urwid 0.8.6 +=========== - * 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) +2005-01-03 - * Added support for ncurses' use_default_colors() function to - curses_display module (Python >= 2.4). + * 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) - 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. + * Added support for ncurses' use_default_colors() function to + curses_display module (Python >= 2.4). - "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. + 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. - * Modified examples to not use black as background of Edit widgets. + "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. - * Fixed curses_display curs_set() call so that cursor is hidden when - widget in focus has no cursor position. + * 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 tutorial covering basic operation of: curses_display.Screen, + Canvas, Text, FlowWidget, Filler, BoxWidget, AttrWrap, Edit, ListBox + and Frame classes - * New widget class: Filler + * New widget class: Filler - * New ListBox functions: get_focus(), set_focus() + * New ListBox functions: get_focus(), set_focus() - * Debian packages for Python 2.4. + * Debian packages for Python 2.4. - * Fixed curses_display bug affecting text with no attributes. + * Fixed curses_display bug affecting text with no attributes. Urwid 0.8.4 +=========== - * Improved support for Cyrillic and other simple 8-bit encodings. +2004-11-20 - * Added new functions to simplify taking screenshots: - html_fragment.screenshot_init() and - html_fragment.screenshot_collect() + * Improved support for Cyrillic and other simple 8-bit encodings. - * Improved urwid/curses_display.py input debugging + * Added new functions to simplify taking screenshots: + html_fragment.screenshot_init() and + html_fragment.screenshot_collect() - * Fixed cursor in screenshots of CJK text. Fixed "end" key in Edit - boxes with CJK text. + * 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. + * 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. + 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. + 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(). + * Use new method Edit.set_edit_text() instead of Edit.update_text(). - * Minor improvements to edit.py example program. + * Minor improvements to edit.py example program. Urwid 0.8.2 +=========== + +2004-11-08 - * Re-released under GNU Lesser General Public License. + * Re-released under GNU Lesser General Public License. Urwid 0.8.1 +=========== - * 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. +2004-10-29 - * Added unit testing code test_urwid.py to the examples. + * 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. - * Can now run urwid/curses_display.py to test your terminal's input and - colour rendering. + * Added unit testing code test_urwid.py to the examples. - * Fixed an OSX browse.py compatibility issue. Added some OSX keycodes. + * 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 + * Initial Release diff --git a/docs/index.rst b/docs/index.rst index b4fc213..31df758 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,7 +4,7 @@ Urwid |release| Documentation .. toctree:: + changelog tutorial/index manual/index reference/index - changelog |