Expand description
Settings window (egui::Window, closable). Tabs:
- General: theme (system/dark/light), decoder (auto/mf/ffmpeg), ffmpeg folder (text + Browse…, shows whether ffmpeg/ffprobe were found), preview max width, snapping, confirm overwrite, “Edit with Simple Editor” context menu checkbox (install/uninstall via crate::contextmenu).
- Performance: GPU preview toggle + the detected OpenGL renderer, preview render quality (%), movie mode (pre-rendered playback) and the stock image the effect thumbnails are rendered from.
- Capture: screen recording (fps, bitrate, microphone, desktop audio, cursor, record-on-blur, output
folder) and voiceover (input device, channels). Device lists come from
engine::capture. - Export: encoder combo (auto + detected encoders filtered to h264/hevc/vp9/av1 families), CRF, preset.
- Hotkeys: table of every Action (label, current binding, “Rebind” → waits for the next key press with modifiers (Escape cancels, Backspace/Delete unbinds), “Reset”), plus “Reset all”. Conflicts are resolved by unbinding the other action (Hotkeys::set). Note the fixed mouse modifiers. Returns true when settings changed (caller saves + re-applies theme/backend/hotkeys).
Structs§
Constants§
- DECODERS 🔒
- PALETTE_
MODES 🔒 - THEMES 🔒
Functions§
- appearance 🔒
- Appearance: mode (Follow Windows / Light / Dark / Custom) + a colour override per
Palettefield the app actually paints with. Mutatess.palettedirectly, sotheme::palette_with(recomputed every frame inApp::update) picks it up immediately — no restart, no extra plumbing. - capture 🔒
- While rebinding: take the first key press this frame, bind/unbind/cancel, and swallow all key/text events so nothing else reacts to them. Returns true if a binding changed.
- capture_
tab 🔒 - color_
row 🔒 - One overridable colour: checkbox turns the override on/off, the button edits it while on (shown
at
fallback— today’s derived colour — while off, so turning it on starts from what’s in effect). - export 🔒
- general 🔒
- hotkeys_
tab 🔒 - icon_
row 🔒 - One icon assignment: current glyph (or blank), and a picker with every glyph, None and Default.
- performance 🔒
- port_
field 🔒 - MCP port DragValue. The app restarts the server whenever
settings.mcp_portchanges, so the value is held instate.port_editwhile the user drags or types and only written when the gesture ends — otherwise a drag from 7337 to 7400 walks through ~60 ports and one busy port in between turns the server off. Returns true when the setting changed. - show