pub enum AppEvent {
Show 37 variants
Input(InputEvent),
OpenScreen(ScreenEvent),
Quit,
Redraw,
Autosave,
AutosaveCompleted {
path: VaultPath,
saved_revision: Option<NonZeroU64>,
},
OpenPath(VaultPath),
FocusEditor,
FocusSidebar,
SettingsSaved,
CloseSettings,
OpenFileBrowser,
TriggerFastReindex,
TriggerFullReindex,
IndexingDone(Result<Duration, String>),
OpenJournal,
CloseNoteBrowser,
FollowLink(String),
FollowLabel(String),
InsertAtCursor(String),
ShowFileOpsMenu(VaultPath),
ShowDeleteDialog(VaultPath),
ShowRenameDialog(VaultPath),
ShowMoveDialog(VaultPath),
EntryDeleted(VaultPath),
EntryRenamed {
from: VaultPath,
to: VaultPath,
},
EntryMoved {
from: VaultPath,
to: VaultPath,
},
EntryCreated(VaultPath),
DialogError(String),
CloseDialog,
VaultConflict(String),
RenameValidation {
available: bool,
},
MoveDirectoriesLoaded(Vec<VaultPath>),
MoveFilterResults(Vec<VaultPath>),
MoveDestValidation {
available: bool,
},
BacklinksLoaded(Vec<BacklinkEntry>),
WorkspaceSwitched(String),
}Expand description
All events that flow through the system — both input events (from crossterm) and app-level messages sent by components / screens to the main loop.
Variants§
Input(InputEvent)
OpenScreen(ScreenEvent)
Quit
Redraw
Autosave
AutosaveCompleted
Background autosave task finished. saved_revision carries the
editor’s content_revision at the moment the save was issued
on success, None if the write failed. The editor screen uses
path to ignore stale completions for notes the user has
already navigated away from, and saved_revision to clear the
dirty flag iff the buffer is still at that revision (i.e. no
edits during the save). NonZeroU64 because the editor’s
content_revision is never zero.
OpenPath(VaultPath)
FocusEditor
FocusSidebar
SettingsSaved
Sent by SettingsScreen when user confirms Save. The shared settings reference already contains the updated values.
CloseSettings
Sent by SettingsScreen when user discards or closes unchanged.
OpenFileBrowser
Sent by VaultSection; SettingsScreen::handle_app_message intercepts.
TriggerFastReindex
Sent by IndexingSection; SettingsScreen intercepts.
TriggerFullReindex
IndexingDone(Result<Duration, String>)
Sent by indexing tokio task on completion.
OpenJournal
Open (or create) today’s journal entry and switch to it in the editor.
CloseNoteBrowser
Sent by NoteBrowserModal on Esc or after Enter+open.
FollowLink(String)
Follow the link under the editor cursor: note name/path or external URL.
FollowLabel(String)
Open the search modal pre-filled with #<name> to browse notes by label.
InsertAtCursor(String)
Insert raw text at the editor’s cursor (replacing any active selection). Used by the screen layer to deliver async results back to the editor — e.g. the markdown link generated after a clipboard image is saved as an attachment.
ShowFileOpsMenu(VaultPath)
Request to show the file-operations menu (delete / rename / move).
ShowDeleteDialog(VaultPath)
Request to show the delete confirmation dialog for the given entry.
ShowRenameDialog(VaultPath)
Request to show the rename dialog for the given entry.
ShowMoveDialog(VaultPath)
Request to show the move dialog for the given entry.
EntryDeleted(VaultPath)
Confirmation that the given entry was successfully deleted.
EntryRenamed
Confirmation that an entry was successfully renamed.
EntryMoved
Confirmation that an entry was successfully moved.
EntryCreated(VaultPath)
A new note was just created and should be opened; sidebar should reflect it.
DialogError(String)
A dialog operation failed; carries a human-readable error message.
CloseDialog
Dismiss the currently visible dialog without taking action.
VaultConflict(String)
A vault was found to be structurally unusable (conflicts, invalid layout, etc.). Carries a formatted, human-readable error message.
Handled by handle_app_message in main.rs, which clears the workspace,
saves settings, and opens the settings screen with an error overlay.
To add a new conflict source: emit this event from the detection site; no
other files need to change.
RenameValidation
Rename dialog: name availability check result.
MoveDirectoriesLoaded(Vec<VaultPath>)
Move dialog: directory list has loaded.
MoveFilterResults(Vec<VaultPath>)
Move dialog: fuzzy filter results are ready.
MoveDestValidation
Move dialog: destination existence check result.
BacklinksLoaded(Vec<BacklinkEntry>)
Backlinks for the current note have been loaded.
WorkspaceSwitched(String)
User switched to a different workspace. Carries the workspace name. Handled by main.rs to rebuild the vault and navigate to StartScreen.
Implementations§
Source§impl AppEvent
impl AppEvent
pub fn send_input(event: InputEvent) -> Self
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppEvent
impl !RefUnwindSafe for AppEvent
impl Send for AppEvent
impl Sync for AppEvent
impl Unpin for AppEvent
impl UnsafeUnpin for AppEvent
impl !UnwindSafe for AppEvent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more