Use urwid over curses

This commit is contained in:
Kenwood 2021-11-27 14:39:18 -05:00
parent 05e5785fc0
commit d74b40b7e2
2 changed files with 10 additions and 27 deletions

View File

@ -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()

View File

@ -0,0 +1 @@
urwid