A curses-based UI/widget library featuring fluid interface resizing, multiple text layout options, simple markup for attributes, powerful scrolling list boxes and flexible edit boxes.
Project description
Urwid is a curses-based UI/widget library. It includes many features useful for console application developers, including:
Fluid interface resizing (xterm window resizing / fbset on Linux console)
Multiple text alignment and wrapping modes built-in
Ability to register user-defined text alignment and wrapping modes
Simple markup for setting text attributes
Powerful list box that handles scrolling between different widget types
List box contents may be managed with a user-defined class
Flexible edit box for editing almost any type of text
Plain HTML screen shots
Example Programs:
- tour.py
A list box showing the built-in widget types and modes.
- fib.py
A Fibonacci set viewer that demonstrates a list box with infinite data.
- edit.py
A text editor that starts-up instantly by lazily reading files. It is suitable for editing text files with lines longer than the terminal width.
- browse.py
A directory browser that displays directories in a single tree structure. It reads directories as required and lets you select multiple files.
- calc.py
A calculator program that shows its work. It splits sub-expressions into separate columns for easy editing.