awsc.termui.ui.UI
- class awsc.termui.ui.UI
UI singleton object. Handles the main loop of a termui application.
- Attributes:
- debugint
Debug level. Should be unused most of the time.
- top_blockawsc.termui.block.Block
The topmost block which spans the screen. Should be used as the parent of all top level blocks displayed on the screen.
- last_painttime.Time
Timer tracking when the last paint event occurred.
- last_size_refreshtime.Time
Timer tracking when the last refresh of screen size occurred. Screen size refresh is an expensive operation for some reason.
- termblessed.Terminal
The blessed Terminal that is being operated on.
- _wint
The width of the terminal in characters. Eventually consistent value, only changes on screen size refresh.
- _hint
The height of the terminal in characters. Eventually consistent value, only changes on screen size refresh.
- exitbool
If set, the program will exit on the next cycle of the main loop.
- bufawsc.termui.screen.Screen
The screen buffer that is manipulated in paint operations. Each control outputting directly to the screen is expensive and error prone. Manipulating a buffer and printing it all at once is significantly faster.
- tickerslist(callable)
A list of hooks to execute on each main loop cycle.
- cache_dirstr
A file cache temporary directory. Ideally erased upon graceful shutdown, with all of its contents.
- mutexthreading.Lock
Controls access to the input buffer.
- input_bufferlist(blessed.keyboard.Keystroke)
A list of unprocessed keyboard inputs. Handled in the event loop.
- dirtybool
Whether the UI requires a repaint.
- restoreobject
Stores the state of the terminal to restore to upon shutdown. Required to return the user to a working terminal after exiting.
- suspend_input_bufferbool
Atomic for disabling input buffering during unraw operations.
Methods
before_paint
()Pre-paint hook for the UI.
buffer_input
()Input buffer loop.
check_one_key
()Retrieves a single keystroke within a timeout half a frame.
filecache
(obj, callback, *args, **kwargs)Retrieves a cached file from the temporary file cache.
filecache_path
(obj, callback, *args, **kwargs)Like filecache, except this one only returns the path of the cached file.
main
()Main loop function of the UI.
paint
()Main paint handler of the UI.
print
(out[, xy, color, wrap, bounds, bold])Prints a text to a specified area of the screen buffer.
print_centered
(out, bounds[, color, bold])Naive center-printing function.
process_input_buffer
(start_time)Processes part of the input buffer.
progress_bar_paint
(perc)Convenience function for painting a progress bar.
read_file
(filename)Reads a file in the correct encoding, or binary mode if mime type does not indicate it is a text file.
refresh_size
()Refreshes the cached width and height of the terminal if it has not been refreshed recently.
set_exit
(*args, **kwargs)Hotkey-compatible function that sets the graceful shutdown flag on the UI.
unraw
(cmd, *args, **kwargs)Runs a callback in a default terminal setting.
- __init__()
Initializes a UI object.
Methods
__init__
()Initializes a UI object.
before_paint
()Pre-paint hook for the UI.
buffer_input
()Input buffer loop.
check_one_key
()Retrieves a single keystroke within a timeout half a frame.
filecache
(obj, callback, *args, **kwargs)Retrieves a cached file from the temporary file cache.
filecache_path
(obj, callback, *args, **kwargs)Like filecache, except this one only returns the path of the cached file.
main
()Main loop function of the UI.
paint
()Main paint handler of the UI.
print
(out[, xy, color, wrap, bounds, bold])Prints a text to a specified area of the screen buffer.
print_centered
(out, bounds[, color, bold])Naive center-printing function.
process_input_buffer
(start_time)Processes part of the input buffer.
progress_bar_paint
(perc)Convenience function for painting a progress bar.
read_file
(filename)Reads a file in the correct encoding, or binary mode if mime type does not indicate it is a text file.
refresh_size
()Refreshes the cached width and height of the terminal if it has not been refreshed recently.
set_exit
(*args, **kwargs)Hotkey-compatible function that sets the graceful shutdown flag on the UI.
unraw
(cmd, *args, **kwargs)Runs a callback in a default terminal setting.
Attributes
dim
Read-only property for the dimensions of the terminal.
height
Read-only property for the height of the terminal.
width
Read-only property for the width of the terminal.