self.add_sigwinch_selfpipe()
+ self.main_menu = MainMenu(self)
self.escape_menu = EscMenu(self)
self.log_menu = LogMenu(self)
self.log_menu_2 = LogMenu2(self)
- self.activity_stack = [self.home_timeline]
+ self.activity_stack = [self.main_menu]
try:
self.curses_setup()
assert self.cc.activity_stack[-1] is self
self.cc.activity_stack[-1] = activity
+ def push_to(self, activity):
+ self.cc.activity_stack.append(activity)
+
def handle_key(self, ch):
if ch in {ord('q'), ord('Q'), 10, 13}:
return 'quit'
+class MainMenu(Menu):
+ def __init__(self, cc):
+ super().__init__(cc)
+ self.title = text.ColouredString(
+ "Mastodonochrome Main Menu", 'H')
+
+ def handle_key(self, ch):
+ if ch in {ord('h'), ord('H')}:
+ self.push_to(self.cc.home_timeline)
+ else:
+ return super().handle_key(ch)
+
class EscMenu(Menu):
def __init__(self, cc):
super().__init__(cc)
self.chain_to(self.cc.mentions_timeline)
elif ch in {ord('l'), ord('L')}:
self.chain_to(self.cc.log_menu)
+ elif ch in {ord('g'), ord('G')}:
+ self.cc.activity_stack[:] = [self.cc.main_menu]
else:
return super().handle_key(ch)