Header menu logo issie

ProjectBrowserState Type

The project browser's state while it is open. Its own field rather than borrowed dialog text: the refresh timer has to be able to ask whether the browser is still open, and a timer that answered from shared popup state would go on writing into whatever dialog opened next.

Record fields

Record Field Description

Folder

Full Usage: Folder

Field type: string

The folder being shown.

Field type: string

Listing

Full Usage: Listing

Field type: Result<FolderEntry list, string>

What is in it, or why it cannot be shown. Read when the folder changes and once a second after that, in the update function rather than while rendering. A popup body runs on every message, so a view that read the disk would read it continuously - and the keyboard has to know how many rows there are before it can move between them.

Field type: Result<FolderEntry list, string>

Selected

Full Usage: Selected

Field type: int

The row the keyboard is on, an index into the listing. Clamped whenever the listing changes, since the folder can grow or shrink underneath it.

Field type: int

Type something to start searching.