Expand description
The native macOS surfaces a running recording is shown on.
The floating panel, the global hotkey, and the arithmetic a status-bar indicator draws from. They exist as a crate of their own for a reason that is not organisational:
- they were
moditems private to thescrybebinary, which declares no[lib], so no other crate could reach them at all; - and
scrybe-desktop/src-taurisetsunsafe_code = "forbid", which a local#![allow]cannot override. The panel is sevenmsg_send!blocks under exactly such an allow, legal only because the root workspace chosedeny. So theAppKitcode can never be inlined into the desktop host, whatever happens to the command-line binary’s target list.
Adding a [lib] to scrybe-cli was considered and rejected: it
publishes to crates.io as scrybe, so every newly-pub module here
would become a SemVer commitment on a package whose purpose is a
command-line tool, and it would make one frontend depend on a
sibling frontend, which nothing in this workspace does.
Nothing here depends on the service layer. A widget is handed a
ShellView and hands back a stop request; whichever frontend owns
the recording is what turns one into the other.
Modules§
- hotkey
- Global hotkey listener for one-shot recording stop requests.
- status
- What a status-bar indicator draws, decided arithmetically.
Structs§
- Shell
View - One snapshot, as every native indicator sees it.
Enums§
- Shell
State - The recording lifecycle a native indicator shows.