Expand description
Lightbox image viewer: full-screen preview with zoom, pan, EXIF details, and keyboard navigation.
Loads preview or original resolution images with pinch-zoom and swipe navigation. Displays an EXIF metadata panel and provides download-to-folder and delete-to-trash actions.
StructsΒ§
- Action
Bar π - Zoom controls, resolution toggle, and download button under the picture.
- Asset
Info π - Grid item properties the lightbox renders.
- Details
Pane π - Sidebar with the filename, sync summary, and EXIF groups.
- Lightbox π
- Lightbox page widgets plus the state shared by its signal handlers.
Handlers hold strong
Rcs, so it lives as long as the pageβs widgets. - Lightbox
Header π - Navigation page with its header bar (back, prev/next, details toggle).
- Local
Probe π - Everything we can learn about a local file off the main thread before
handing the data back to GTK.
exifis the cached EXIF parse;dimscomes from a pixbuf header-only read;mtime_isofalls back when the file has noDateTimeOriginalso we always show some date. - Picture
Area π - Two pictures in a sliding stack, their scroller, and the overlay holding the spinner.
- Picture
Load π - One request to load an asset into the inactive picture.
- Unavailable
Card π - βPreview unavailableβ card shown over the picture when nothing can be decoded.
EnumsΒ§
- Load
Result π - What a finished load shows; applied only if the user is still on that asset.
FunctionsΒ§
- accent_
row π - apply_
lightbox_ πzoom - Apply zoom to a lightbox Picture. Zoom is fit-relative: 1.0 = the size the
texture would occupy inside
viewerunder Contain layout. >1.0 overflows the viewer for panning. Returns the computed content dimensions when zoomed. - build_
action_ πbar - build_
camera_ πgroup - build_
details_ πpane - build_
header π - build_
image_ πgroup - build_
location_ πgroup - build_
picture_ πarea - build_
split_ πview - Picture viewer with the details pane as a sidebar that follows the windowβs narrow layout.
- build_
unavailable_ πcard - build_
video_ πbadge - build_
viewer π - build_
zoom_ πgroup - crossfade_
overlay π - details_
scroller π - details_
text_ πlabel - drag_
export_ πpath - Hard-link or copy a cached file under its original name so drag-out targets see that name.
Returns
sourceif the copy fails, andNonewhen there is no cache directory. - exif_
from_ πlocal - Convert local EXIF into the API shape so one renderer handles both sources.
- fill_
exif_ πbox - Populate the details sidebar with sectioned EXIF metadata.
- format_
bytes π - Format a byte count value into a human-readable size string (e.g. KB, MB, GB).
- format_
camera π - format_
datetime_ πdisplay - Format an ISO 8601 timestamp for display, converting from UTC to the userβs local timezone.
- format_
exposure π - format_
location π - icon_
button π - lightbox_
picture π - lightbox_
title_ πcap - Title length that still fits in the header beside the nav buttons.
- local_
details_ πexif - EXIF for the details pane with gaps filled from the filesystem;
Noneif nothing is known. - open_
lightbox π - Construct and present the fullscreen lightbox view for a selected asset.
- original_
preview_ πcache_ path - Cache path for a downloaded original; keeps the extension so decoders pick the right format.
- probe_
local_ πfile - Metadata, pixel size, and cached EXIF for a local file; does blocking I/O.
- systemtime_
to_ πrfc3339 - Local-timezone RFC3339, so
format_datetime_displaytreats it like an EXIF timestamp. - truncate_
filename π - Truncate a filename to a maximum character limit, appending an ellipsis if needed.