+ def run(self, stdscr):
+ """Set important options that require stdscr before starting"""
+ self.win = stdscr
+ (mlines, mcols) = self.win.getmaxyx()
+ curses.curs_set(0) # Hide cursor
+ curses.use_default_colors() # Allow transparency
+ curses.init_pair(1, curses.COLOR_CYAN, -1)
+ curses.init_pair(2, curses.COLOR_RED, -1)
+ curses.init_pair(3, curses.COLOR_YELLOW, -1)
+
+ (self.main_win, self.main_panel) = panel_create(mlines, mcols)
+ self.menu_obj = Menu(self)
+ self.help_obj = Help(self)
+
+ self.get_key()
+
+ def update_panels(self):
+ """Update panel and window contents"""
+ curses.panel.update_panels()
+ self.win.refresh()
+
+ def leave(self):
+ """Pickle stack before quitting"""
+ if self.obj.index + 1 == len(self.stack):
+ self.obj.index = 0
+
+ progress.dump(self.stack, runner.get_orig()[1])
+ sys.exit(0)
+
+ def nstarred(self):
+ """Get total number of starred cards"""
+ return [card for card in self.stack if card.starred]
+
+ def disp_bar(self):