Expand description
Handles application bootstrap, single-instance wiring, and daemon startup flow.
Initialises GTK/Libadwaita, registers the D-Bus application name for single-instance enforcement, and decides whether to present the library window or settings window based on user configuration. Background sync, tray icon, and filesystem monitor are wired up before entering the main event loop.
Modulesยง
- api_
client ๐ - Integrates with the Immich API, handles connectivity failover, and provides album/cache helpers.
- app_
context ๐ - Consolidated application context passed through the UI and background services.
- autostart ๐
- Handles autostart integration for both native installations and sandboxed Flatpak builds.
- cache_
manager ๐ - Unified prune + clear over every on-disk cache subdirectory.
- config ๐
- Handles persistent configuration loading and provides desktop keyring access helpers.
- diagnostics ๐
- Exports a support-friendly diagnostics bundle with sensitive local data redacted for privacy.
- library ๐
- Library view module โ browse, search, and download assets from an Immich server.
- logging ๐
- media_
kinds ๐ - Central registry of supported media extensions, MIME types, and asset kinds.
- monitor ๐
- Provides live filesystem monitoring, file-settling checks, and checksum generation.
- notifications ๐
- Provides desktop notification helpers using the GIO notification portal.
- profile ๐
- Per-profile state isolation driven by the
MIMICK_PROFILEenv var. - queue_
manager ๐ - Manages upload queue orchestration, retry persistence, and sync-index updates.
- remote_
sync ๐ - Periodic remote-album reconciler.
- runtime_
env ๐ - Provides best-effort checks of system conditions to determine when uploads should be deferred.
- sanitize ๐
- Input sanitisation for file paths and URLs.
- settings_
window ๐ - Implements the GTK4/Libadwaita settings window and status dashboard.
- sidecar ๐
- XMP sidecar file discovery.
- startup_
scan ๐ - Performs a startup catch-up scan for files that were missed while Mimick was not running.
- state_
manager ๐ - Stores persistent status snapshots to restore basic UI state across application launches.
- sync_
index ๐ - Maintains a persistent index of files that have been previously synced.
- tray_
icon ๐ - Integrates StatusNotifier tray functionality and provides GTK-facing control signals.
- util ๐
- Shared filesystem and I/O utilities.
- watch_
path_ ๐display - Provides user-friendly display names for watch paths.
Staticsยง
- APP_
CONTEXT ๐ - Shared application context reused by UI entry points and the shutdown path.
Functionsยง
- consume_
flag ๐ - Atomically check and clear a cross-thread boolean flag. Returns true if the flag was set, clearing it in the process.
- find_
window ๐ - Helper to look up active GTK window instances by widget name.
- main ๐
- open_
default_ ๐window - Open whichever window the user prefers, presenting an existing instance if available.
- open_
library_ ๐window_ now - Open Library window, falling back to Settings if disabled.
- open_
settings_ ๐window_ now - Open Settings window or present existing settings instance.