Expand description
Handles persistent configuration loading and provides desktop keyring access helpers.
Configuration lives in a JSON file under the XDG config directory.
Watch-path entries support both simple paths and extended per-folder
rules (sync method, extension filters, size limits). The API key is
stored in the desktop keyring via oo7 and never written to disk.
Structsยง
- Config
- Persistent config container wrapping loaded schema and file source info.
- Config
Data - Configuration schema driving application behavior and connection settings.
- Folder
Rules - Defines per-folder filters and guardrails applied before a file is queued for upload.
Enumsยง
- Folder
Sync Method - Startup
Catchup Mode - Catch-up strategy applied to existing files when the application boots.
- Watch
Path Entry - A watch path entry stored in config.
Functionsยง
- best_
matching_ watch_ entry - Find the most specific configured watch entry that contains
path. - default_
cache_ ๐disk_ cap_ mb - Default total on-disk cache cap in MB.
- default_
grid_ ๐border_ color - default_
grid_ ๐quality - default_
true ๐ - Helper to default boolean fields to true during serialization.
- default_
upload_ ๐concurrency - Helper to default parallel upload worker threads to 3.
- keyring_
error_ ๐hint - Short diagnostic label for log messages.
- keyring_
error_ ๐message - Return a user-facing error message for a keyring failure, tailored to the specific backend that failed.
- keyring_
with_ ๐dbus_ fallback - Try
oo7::Keyring::new(), which auto-selects portal (Flatpak) or D-Bus (native). If the portal backend fails โ common on Hyprland, Sway, XFCE, and other non-GNOME/KDE desktops โ explicitly attempt the D-Bus Secret Service as a fallback before returning an error. - watch_
entry_ for_ album - Find a configured watch path entry by its target album name.