+
+ def disp_sidebar(self):
+ (mlines, mcols) = self.win.getmaxyx()
+ self.win.addstr(0, mcols - 16, "STARRED CARDS",
+ curses.color_pair(3) + curses.A_BOLD)
+ self.win.vline(0, mcols - 20, 0, mlines)
+ self.win.hline(1, mcols - 19, 0, mlines)
+
+ total = [card for card in self.stack if card.getStar()]
+ ntotal = len(total)
+
+ i = 0
+ for card in self.stack:
+ if i > mlines - 6:
+ self.win.addstr(2 + i, mcols - 19, f"... ({ntotal - i} more)")
+ break
+ elif card.getStar():
+ term = card[0]
+ if len(card[0]) > 18:
+ term = card[0][:18] + "…"
+ self.win.addstr(2 + i, mcols - 19, term)
+
+ i += 1
+
+ if i == 0:
+ self.win.addstr(2, mcols - 19, "None starred")
+
+ self.win.addstr(mlines - 1, mcols - 19, f"{ntotal}/{str(len(self.stack))}")