From: Armaan Bhojwani Date: Sun, 31 Jan 2021 17:05:50 +0000 (-0500) Subject: Add help screen and create disp_init() function X-Git-Tag: v0.3.0~8 X-Git-Url: https://git.armaanb.net/?p=lightcards.git;a=commitdiff_plain;h=fa534964b6dd5eb9311d235a6b3ec51174e750a4 Add help screen and create disp_init() function These were pretty intertwined, and my Git skills aren't good enough to figure out how to split this into multiple commits --- diff --git a/lightcards/display.py b/lightcards/display.py index e9e5b26..bdad1d1 100755 --- a/lightcards/display.py +++ b/lightcards/display.py @@ -14,7 +14,6 @@ def disp_bar(stdscr, stack, headers, obj): else: percent = str(round(obj.getIdx() / (len(stack) - 1) * 100)).zfill(3) - curses.init_pair(1, curses.COLOR_CYAN, 0) stdscr.insstr(mlines - 1, 0, "[" + stack[obj.getIdx()].printStar() + @@ -33,8 +32,6 @@ def disp_bar(stdscr, stack, headers, obj): def disp_menu(stdscr, stack, headers, idx): - curses.init_pair(1, curses.COLOR_CYAN, 0) - curses.init_pair(2, curses.COLOR_RED, 0) stdscr.addstr("Good job, you've completed a round!\n\n", curses.color_pair(1)) stdscr.addstr("Choose one of the following options:\n" + @@ -109,10 +106,36 @@ def disp_card(stdscr, stack, headers, obj): disp_bar(stdscr, stack, headers, obj) -def get_key(stdscr, stack, headers, idx): +def disp_help(stdscr, stack, headers, idx): + stdscr.clear() + stdscr.addstr("LIGHTCARDS HELP SCREEN", curses.color_pair(1)) + stdscr.hline(1, 0, curses.ACS_HLINE, 23) + stdscr.addstr(2, 0, + "Welcome to lightcards. Here are some keybindings to get\n" + + "you started.\n\n" + + "h, left previous card\n" + + "l, right next card\n" + + "j, k, up, down flip card\n" + + "i, / star card\n" + + "0, ^, home go to start of deck\n" + + "$, end go to end of deck\n" + + "H, ? open this screen\n\n" + + "More information can be found in the man page.\n" + + "Press [q], [H], or [?] to go back.") + while True: + key = stdscr.getkey() + if key in ["q", "H", "?"]: + get_key(stdscr, stack, headers, idx) + + +def init_disp(stdscr, stack, headers, idx): curses.curs_set(0) - disp_card(stdscr, stack, headers, idx) + curses.init_pair(1, curses.COLOR_CYAN, 0) + curses.init_pair(2, curses.COLOR_RED, 0) + get_key(stdscr, stack, headers, idx) +def get_key(stdscr, stack, headers, idx): + disp_card(stdscr, stack, headers, idx) while True: key = stdscr.getkey() if key == "q": @@ -139,3 +162,5 @@ def get_key(stdscr, stack, headers, idx): idx.setIdx(len(stack) - 1) idx.setSide(0) disp_card(stdscr, stack, headers, idx) + elif key in ["H", "?"]: + disp_help(stdscr, stack, headers, idx) diff --git a/lightcards/lightcards.py b/lightcards/lightcards.py index 3279f48..2377c69 100755 --- a/lightcards/lightcards.py +++ b/lightcards/lightcards.py @@ -42,7 +42,7 @@ def show(args, stack, headers): shuffle(stack) elif args.reverse: stack.reverse() - wrapper(display.get_key, stack, headers, idx) + wrapper(display.init_disp, stack, headers, idx) def main(args=sys.argv):