Use urwid over curses
This commit is contained in:
parent
05e5785fc0
commit
d74b40b7e2
|
@ -1,33 +1,15 @@
|
|||
# Draw text to center of screen
|
||||
import curses
|
||||
|
||||
screen = curses.initscr()
|
||||
num_rows, num_cols = screen.getmaxyx()
|
||||
import urwid
|
||||
|
||||
|
||||
# Make a function to print a line in the center of screen
|
||||
def print_center(message):
|
||||
# Calculate center row
|
||||
middle_row = int(num_rows / 2)
|
||||
|
||||
# Calculate center column, and then adjust starting position based
|
||||
# on the length of the message
|
||||
half_length_of_message = int(len(message) / 2)
|
||||
middle_column = int(num_cols / 2)
|
||||
x_position = middle_column - half_length_of_message
|
||||
|
||||
# Draw the text
|
||||
screen.addstr(middle_row, x_position, message)
|
||||
screen.refresh()
|
||||
def exit_on_q(key):
|
||||
if key in ('q', 'Q'):
|
||||
raise urwid.ExitMainLoop()
|
||||
|
||||
|
||||
print_center("Greatness awaits...")
|
||||
txt = urwid.BigText(u" Greatness Awaits... ", urwid.HalfBlock5x4Font())
|
||||
test = urwid.Padding(txt, 'center', None)
|
||||
test = urwid.Filler(test, 'middle', None, 7)
|
||||
|
||||
# Wait and cleanup
|
||||
while True:
|
||||
try:
|
||||
curses.napms(500)
|
||||
except KeyboardInterrupt:
|
||||
break
|
||||
|
||||
curses.endwin()
|
||||
loop = urwid.MainLoop(test, unhandled_input=exit_on_q)
|
||||
loop.run()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
urwid
|
Loading…
Reference in New Issue