chiark / gitweb /
Implement a specialised stack of UI activities.
authorSimon Tatham <anakin@pobox.com>
Wed, 27 Dec 2023 16:31:26 +0000 (16:31 +0000)
committerSimon Tatham <anakin@pobox.com>
Wed, 27 Dec 2023 16:35:00 +0000 (16:35 +0000)
commit17992a9fcd089430aa37d534f8dc4a5886df85a2
tree62d6f23e7d1aa03257930890d2a87b2e59273614
parent4c1aa58396974b34efbcb5336ab296ded7497173
Implement a specialised stack of UI activities.

I think this mostly matches Monochrome's rules about what activities
you can and can't have stacked on top of each other. To wit, you
basically get an arbitrary keypath of menus from the Main Menu, plus
optionally a single utilities-menu thing pushed on top of that.
Utilities things replace each other rather than stacking, so that
popping the stack returns to the non-utility below it.

(An exception on real Monochrome is that popping from Send Message
replaces it with the Users On screen - also a utility-class activity -
rather than popping back to the topmost non-util. Mastodon has no such
thing, so we can omit that special case here. If anything like that
were needed anyway, it could be special-cased inside pop().)
src/activity_stack.rs [new file with mode: 0644]
src/lib.rs