pub enum PageAction {
Show 47 variants
ScrollUp(u32),
ScrollDown(u32),
ScrollLeft(u32),
ScrollRight(u32),
ScrollPageUp,
ScrollPageDown,
ScrollFullPageDown,
ScrollFullPageUp,
ScrollHalfPageDown,
ScrollHalfPageUp,
ScrollTop,
ScrollBottom,
TabNext,
TabPrev,
TabClose,
TabNew,
TabNewRight,
TabNewLeft,
PinTab,
ReopenClosedTab,
PasteUrl {
after: bool,
},
TabReorder {
from: u32,
to: u32,
},
MoveTabLeft,
MoveTabRight,
HistoryBack,
HistoryForward,
Reload,
ReloadHard,
StopLoading,
OpenOmnibar,
OpenCommandLine,
EnterHintMode,
EnterHintModeBackground,
EnterMode(PageMode),
Find {
forward: bool,
},
FindNext,
FindPrev,
YankUrl,
YankSelection,
ZoomIn,
ZoomOut,
ZoomReset,
OpenDevTools,
ClearCompletedDownloads,
EnterInsertMode,
FocusFirstInput,
ExitInsertMode,
}Expand description
Page-level actions emitted by the modal dispatcher.
Variants§
ScrollUp(u32)
ScrollDown(u32)
ScrollLeft(u32)
ScrollRight(u32)
ScrollPageUp
ScrollPageDown
ScrollFullPageDown
<C-f> — full-window forward scroll.
ScrollFullPageUp
<C-b> — full-window back scroll.
ScrollHalfPageDown
ScrollHalfPageUp
ScrollTop
ScrollBottom
TabNext
TabPrev
TabClose
TabNew
TabNewRight
Open a fresh tab adjacent to the active tab. The apps layer also auto-opens the omnibar after creation so the user can type a URL. Inserts the new tab immediately to the right of the active tab.
TabNewLeft
Open a fresh tab adjacent to the active tab. The apps layer also auto-opens the omnibar after creation so the user can type a URL. Inserts the new tab immediately to the left of the active tab.
PinTab
Pin / unpin the active tab. Toggle — pinned tabs sort first;
pin does not prevent close. Default keybind <leader>p.
ReopenClosedTab
Re-open the most recently closed tab. Repeated invocation
pops further entries from the close stack so successive
closes can be undone in reverse order. Default keybind u.
PasteUrl
Paste a URL from the clipboard into a new tab adjacent to the
active one. The clipboard text must classify as Url or Host
(per buffr-config’s classify_input); other content is a
no-op. after = true inserts to the right (p), false to
the left (P).
TabReorder
Reorder the tab list. Currently unbound; reserved for the eventual mouse-drag handler.
MoveTabLeft
Shuffle the active tab one slot left in the strip. Default
keybind <C-S-h>; clamps at index 0.
MoveTabRight
Shuffle the active tab one slot right in the strip. Default
keybind <C-S-l>; clamps at the last index.
HistoryBack
HistoryForward
Reload
ReloadHard
Hard reload bypassing cache (<C-r>).
StopLoading
OpenOmnibar
OpenCommandLine
EnterHintMode
EnterHintModeBackground
Background-tab variant of hint mode (F in vimium).
EnterMode(PageMode)
Generic mode-transition variant. Equivalent to the more
specific OpenOmnibar/OpenCommandLine/EnterHintMode/
EnterInsertMode actions but parameterised — useful for user
config that wants <F2> → command mode.
Find
/ (forward) or ? (backward).
FindNext
FindPrev
YankUrl
Yank the current page URL. Phase 2 emits the action; clipboard
plumbing lands with the host wiring in buffr-core.
YankSelection
Yank the active text selection in the page to the system
clipboard. Bound to y in Visual mode. After the copy, the
apps layer transitions back to Normal.
ZoomIn
ZoomOut
ZoomReset
OpenDevTools
ClearCompletedDownloads
Delete every Completed download row. Does not have a default
keybinding — there’s no obvious vim-flavored chord — so it’s
reachable only via user config ([keymap.normal] "..." = "clear_completed_downloads") or the eventual :downloads
command line in Phase 3 chrome work.
EnterInsertMode
Defer to the embedded hjkl_engine::Editor. Keystroke
unchanged; the modal dispatcher swallows nothing on this path.
FocusFirstInput
Focus the first text input on the page and enter insert mode.
Vieb’s gi / insertAtFirstInput.
ExitInsertMode
Exit insert mode unconditionally — blurs the focused DOM element and returns the engine to PageMode::Normal.
Implementations§
Source§impl PageAction
impl PageAction
Sourcepub fn is_repeatable(&self) -> bool
pub fn is_repeatable(&self) -> bool
Whether the action is safe to fire from an OS auto-repeat
keystroke. Idempotent or stream-friendly actions (scrolls, tab
cycling, history nav, find-next, zoom) return true; one-shot
state mutations (close tab, paste, mode change, devtools) return
false so holding the key doesn’t spam them.
Trait Implementations§
Source§impl Clone for PageAction
impl Clone for PageAction
Source§fn clone(&self) -> PageAction
fn clone(&self) -> PageAction
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PageAction
impl Debug for PageAction
Source§impl<'de> Deserialize<'de> for PageAction
impl<'de> Deserialize<'de> for PageAction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PageAction
impl PartialEq for PageAction
Source§impl Serialize for PageAction
impl Serialize for PageAction
impl Eq for PageAction
impl StructuralPartialEq for PageAction
Auto Trait Implementations§
impl Freeze for PageAction
impl RefUnwindSafe for PageAction
impl Send for PageAction
impl Sync for PageAction
impl Unpin for PageAction
impl UnsafeUnpin for PageAction
impl UnwindSafe for PageAction
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 more