| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* WIP
* Metaclasses
* String literal fixes
* Remove 2to3 and make tests compatible with both Python 2 & 3
* Removed debug code.
* Added tests for ProgressBar
* Fixed examples.
* future division & font literals fix
* Cleaner fonts initialization.
|
|\
| |
| | |
Feature/listbox home end
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Pressing 'home' moves the focus to the first position, 'end' moves focus to the
last position.
|
|\ \ \
| | | |
| | | | |
Correct Edit documentation
|
| | | |
| | | |
| | | | |
There were missing doc comments for a few basic properties, + the text about `edit_text` property being a read-only property was a lie.
|
|\ \ \ \
| |_|/ /
|/| | | |
Emit postchange after text is updated
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Just like Edit() boxes, CheckBox and RadioButton need to have an event
emitted after the change has been commited. This allows us to modify
the state after it occurs. (If the event only fires before the state is
actually changed, the event handler cannot change the state because the
emitter will change it to what they were going to after the event
handler has finished.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The Edit widget in 1.3.0 has a "change" signal which fires before the
edit_text is updated. This means that change signal handlers cannot
update the edit_text; the text is updated by the signal emitter after
the change handler has finished running. To remedy this, in a backwards
compatible way, create a second signal, "postchange" which fires after
edit_text has been changed. "postchange" sends the widget's old text
value as a parameter so that change handlers can use the former value
if needed (for instance, to revert a change because the new_text was
invalid)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Sometimes an Edit's change handler wants to edit the text that has just
been entered. For instance, if the handler does validation, it may want
to immediately highlight or prevent invalid entries from being shown.
This is not possible if the change signal is emitted before the internal
text data is updated as the update will overwrite anything that the
change handler performed. Emitting the change event after the update
has been performed allows for changes to be made.
Fixes #212
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If you are unsure if your terminal supports this, try the following:
echo -e "\e[9mstrikethrough\e[0m"
|
|\ \ \ \
| | | | |
| | | | | |
Fix typos
|
| | | | | |
|
| | | | |
| | | | |
| | | | | |
Since from f5f6711 now `page up` and `page down` will be also handled by widget in focus, so the documents inside the `keypress` method have to be modified to avoid confusing.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Fixed issue with unicode characters in ProgressBar
* Fixed Travis build - replaced deprecated 3.2_with_system_site_packages with 3.4_with_system_site_packages.
* Fixed typo.
* Fixing build for Python 3.2
* Fix for Python 3.2 & tornado/twisted
* Setup script update in regards to #216
* Travis fix
* Dependencies for Travis
* Removed Python 3.2 from Travis dependency list as deprecated
* Regression fix.
* Removed bogus lines.
* Docs.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fixed Terminal widget crashes with Python3
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Small style cleaning of ParentNode.set_child_node
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Adjusts the internal representation of an alarm in SelectEventLoop to
include a "tie-break" value prior to the callback (as recommended in the
heapq documentation) to prevent TypeError when comparing two different
callbacks. Also tweaks SelectEventLoop to use heapq.heappop instead of
list.pop for retrieving the next alarm, to maintain the heap structure
of the alarm list.
|
|/ / / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
test_vterm: handle EINTR when reading from pipe
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes: https://github.com/urwid/urwid/issues/230
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
fix test_remove_watch_file flakiness
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
pass a known-good file descriptor to watch_file rather than hard-coding 5
Fixes #164
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix missing `modified` signal in SimpleFocusListWalker
|
| | | | | | |
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | | |
Child widgets of ListBoxes get all keys before ListBox uses them, including
'page up' and 'page down'.
|
| |_|/ /
|/| | |
| | | |
| | | | |
PollingListWalker is deprecated.
|
| |/ /
|/| | |
|
|\ \ \
| |/ /
|/| | |
Make ListBox.body an invalidating property
|
| | |
| | |
| | |
| | | |
This should be slightly more efficient.
|
| | |
| | |
| | |
| | |
| | | |
This lets us automatically call _invalidate() each time the list box's body is
set.
|
|/ /
| |
| |
| |
| | |
(x)range is an iterable
__iterator__ should return an iterator (iter(iterable))
|
|\ \
| | |
| | | |
Implement italics support
|
| | | |
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to the VT100 programmers manual, the NUL character has to be
ignored (at least on our side, because we are not a printer):
http://vt100.net/docs/tp83/appendixb.html
According to the bug reporter the VMS console driver inserts NUL
characters after line feeds and our implementation prints those as "?".
Tested against Python 2.7, 3.2, 3.3, 3.4 and 3.5.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Reported-by: Robert Urban <urban@unix-beratung.de>
|
| | |
|
|\ \
| | |
| | | |
256-color support for fbterm
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fbterm supports an analog of xterm's 256 color method, but due to
overlap in the control codes, it uses different escape sequences.
Since urwid doesn't use terminfo, it has to be coded in the raw_display
directly.
The call to register_palette_entry() during __init__ was moved because
it now relies on the self.term attribute, and was previously being
invoked before the class was fully initialized.
|
| | | |
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In MainLoop._run() we were running self.event_loop.run() in
an exception frame so that we could reset the screen in the
case of an unclean shutdown of the MainLoop. The catch specification
was "except Exception as e" but this doesn't include exceptions that
don't derive from Exception, like KeyboardInterrupt (i.e. Ctrl-C).
This change fixes that.
|
| | |
|
| |
| |
| |
| | |
screen.stop()
|
|\ \
| |/
|/| |
fix hlines in BarGraph.set_data(): sort descending
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add [bracketed paste mode](https://cirw.in/blog/bracketed-paste) escape
sequences to escape.py so urwid can pass these sequences to applications
as "begin paste" and "end paste" keys.
|