Skip to main content

Crate scrybe_widgets

Crate scrybe_widgets 

Source
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 mod items private to the scrybe binary, which declares no [lib], so no other crate could reach them at all;
  • and scrybe-desktop/src-tauri sets unsafe_code = "forbid", which a local #![allow] cannot override. The panel is seven msg_send! blocks under exactly such an allow, legal only because the root workspace chose deny. So the AppKit code 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§

ShellView
One snapshot, as every native indicator sees it.

Enums§

ShellState
The recording lifecycle a native indicator shows.