New [key-bindings]:
- session-save: captures cwd and foreground process argv to ~/.local/share/foot/state/{name}.json
- session-save-secure: prompts for a password, encrypts the scrollback with argon2id + XChaCha20-Poly1305 (libsodium) and writes it to {name}.scrollback.enc(stores up to 1Mb scrollback buffer).
- session-load: a minimal fuzzy picker that displays saved sessions (both secure and vanilla), UI piggybacks on search bar subsurface. use arrows to navigate and delete to delete a previously saved session.
27 lines
886 B
C
27 lines
886 B
C
#pragma once
|
|
|
|
#include <xkbcommon/xkbcommon.h>
|
|
|
|
#include "key-binding.h"
|
|
#include "terminal.h"
|
|
|
|
void search_begin(struct terminal *term);
|
|
void search_begin_session(struct terminal *term, enum search_mode mode);
|
|
void search_cancel(struct terminal *term);
|
|
void search_input(
|
|
struct seat *seat, struct terminal *term,
|
|
const struct key_binding_set *bindings, uint32_t key,
|
|
xkb_keysym_t sym, xkb_mod_mask_t mods, xkb_mod_mask_t consumed,
|
|
const xkb_keysym_t *raw_syms, size_t raw_count,
|
|
uint32_t serial);
|
|
void search_add_chars(struct terminal *term, const char *text, size_t len);
|
|
|
|
void search_selection_cancelled(struct terminal *term);
|
|
|
|
struct search_match_iterator {
|
|
struct terminal *term;
|
|
struct coord start;
|
|
};
|
|
|
|
struct search_match_iterator search_matches_new_iter(struct terminal *term);
|
|
struct range search_matches_next(struct search_match_iterator *iter);
|