Use urwid over curses
This commit is contained in:
parent
05e5785fc0
commit
d74b40b7e2
|
@ -1,33 +1,15 @@
|
||||||
# Draw text to center of screen
|
import urwid
|
||||||
import curses
|
|
||||||
|
|
||||||
screen = curses.initscr()
|
|
||||||
num_rows, num_cols = screen.getmaxyx()
|
|
||||||
|
|
||||||
|
|
||||||
# Make a function to print a line in the center of screen
|
def exit_on_q(key):
|
||||||
def print_center(message):
|
if key in ('q', 'Q'):
|
||||||
# Calculate center row
|
raise urwid.ExitMainLoop()
|
||||||
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()
|
|
||||||
|
|
||||||
|
|
||||||
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