internal/

directory
v0.2.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2026 License: MIT

Directories

Path Synopsis
Package appearance defines PicFetch's application-wide appearance modes and applies them without replacing Fyne's underlying theme.
Package appearance defines PicFetch's application-wide appearance modes and applies them without replacing Fyne's underlying theme.
Package clipboard puts image data onto the system clipboard as a real image - not a file reference - so it can be pasted into another app (Slack, an image editor, ...) as an image, the way a browser's own "Copy Image" works.
Package clipboard puts image data onto the system clipboard as a real image - not a file reference - so it can be pasted into another app (Slack, an image editor, ...) as an image, the way a browser's own "Copy Image" works.
Package completion is the one-shot "this background operation has finished" signal that the viewer grew nine hand-rolled copies of, and that internal/ui/exifwin grew a tenth for the Location-section map prefetch: a channel replaced at the start of each request and closed when that request finishes, which the test suite waits on instead of polling widget state a producer goroutine may still be writing.
Package completion is the one-shot "this background operation has finished" signal that the viewer grew nine hand-rolled copies of, and that internal/ui/exifwin grew a tenth for the Location-section map prefetch: a channel replaced at the start of each request and closed when that request finishes, which the test suite waits on instead of polling widget state a producer goroutine may still be writing.
Package decodepool bounds background decode work.
Package decodepool bounds background decode work.
Package dupes owns which files in a file set are duplicates of which other files: dHashes and native pixel sizes keyed by a stable string per file, the Hamming distance threshold that turns those hashes into groups, and the groups themselves.
Package dupes owns which files in a file set are duplicates of which other files: dHashes and native pixel sizes keyed by a stable string per file, the Hamming distance threshold that turns those hashes into groups, and the groups themselves.
Package favstore persists named lists of image files.
Package favstore persists named lists of image files.
Package favthumbs persists grid previews for a favorite's files under that favorite's own directory.
Package favthumbs persists grid previews for a favorite's files under that favorite's own directory.
Package filepicker opens the current OS's own file/folder browser and returns the paths the user picked.
Package filepicker opens the current OS's own file/folder browser and returns the paths the user picked.
Package filescan gathers displayable image files from a dropped or opened set of paths.
Package filescan gathers displayable image files from a dropped or opened set of paths.
Package filesort orders a set of image files for display: by natural (numeric-aware) file name, by Exif capture date, by modification time, by size, or not at all.
Package filesort orders a set of image files for display: by natural (numeric-aware) file name, by Exif capture date, by modification time, by size, or not at all.
Package imaging reads, decodes, EXIF-orients, and caches the image files PicFetch displays: JPEG, PNG, GIF (including animated), WebP, BMP, TIFF, ICO, XPM, HEIC, AVIF, SVG, and camera RAW (embedded JPEG preview only — see raw.go).
Package imaging reads, decodes, EXIF-orients, and caches the image files PicFetch displays: JPEG, PNG, GIF (including animated), WebP, BMP, TIFF, ICO, XPM, HEIC, AVIF, SVG, and camera RAW (embedded JPEG preview only — see raw.go).
Package openwith buffers files the OS hands the process before the viewer is ready to receive them, and parses the file:// URLs LaunchServices delivers them as.
Package openwith buffers files the OS hands the process before the viewer is ready to receive them, and parses the file:// URLs LaunchServices delivers them as.
Package preferences persists and restores standing UI preferences - sort order, merge mode, application appearance, the picture-frame slideshow's interval and shuffle order, window size and position, whether the window stays a fixed size, and whether favorite previews are cached to disk - across launches, via Fyne's app-scoped Preferences store.
Package preferences persists and restores standing UI preferences - sort order, merge mode, application appearance, the picture-frame slideshow's interval and shuffle order, window size and position, whether the window stays a fixed size, and whether favorite previews are cached to disk - across launches, via Fyne's app-scoped Preferences store.
Package selection is the multi-select model behind the grid overview's batch actions: which files are picked, and the anchor a range extension measures from.
Package selection is the multi-select model behind the grid overview's batch actions: which files are picked, and the anchor a range extension measures from.
Package session persists and restores the set of files that were open when the window last closed, via Fyne's app-scoped cache.
Package session persists and restores the set of files that were open when the window last closed, via Fyne's app-scoped cache.
Package trash moves a file to the current OS's trash/recycle bin rather than deleting it permanently, so Shift+Delete in the app is as recoverable as a delete from Finder/Explorer/a Linux file manager already is.
Package trash moves a file to the current OS's trash/recycle bin rather than deleting it permanently, so Shift+Delete in the app is as recoverable as a delete from Finder/Explorer/a Linux file manager already is.
ui
Package ui is the application itself: the viewer, its widgets, and every feature wired onto it.
Package ui is the application itself: the viewer, its widgets, and every feature wired onto it.
assets
Package assets holds the images the UI embeds into the binary.
Package assets holds the images the UI embeds into the binary.
autoupdate
Package autoupdate owns the opt-in release-check/download policy, the staged-update lifecycle, and the What's-New cache (whatsnew.go).
Package autoupdate owns the opt-in release-check/download policy, the staged-update lifecycle, and the What's-New cache (whatsnew.go).
copyselection
Package copyselection owns the transient interaction for selecting an image-space rectangle to copy, including crop and PNG encode of the captured source.
Package copyselection owns the transient interaction for selecting an image-space rectangle to copy, including crop and PNG encode of the captured source.
deletion
Package deletion is the Shift+Delete confirmation flow: a dimmed scrim behind a centered card asking whether to move the file on screen to the Trash, and the trash.Move that follows if the user says yes.
Package deletion is the Shift+Delete confirmation flow: a dimmed scrim behind a centered card asking whether to move the file on screen to the Trash, and the trash.Move that follows if the user says yes.
display
Package display owns what internal/ui's viewer currently has on the canvas: the current image's decoded frames, which of them is up, the view-only rotation, and the picture-frame crossfade.
Package display owns what internal/ui's viewer currently has on the canvas: the current image's decoded frames, which of them is up, the view-only rotation, and the picture-frame crossfade.
exifwin
Package exifwin is the EXIF metadata window: a small panel listing the current image's camera settings, opened with the E key or the info overlay's "Show EXIF data" link.
Package exifwin is the EXIF metadata window: a small panel listing the current image's camera settings, opened with the E key or the info overlay's "Show EXIF data" link.
favorites
Package favorites owns the Favorites menu and its dialogs.
Package favorites owns the Favorites menu and its dialogs.
grid
Package grid is the full-window thumbnail overview (the G key): a virtualized grid of every loaded image, for jumping around a large drop by sight instead of arrowing through it one file at a time.
Package grid is the full-window thumbnail overview (the G key): a virtualized grid of every loaded image, for jumping around a large drop by sight instead of arrowing through it one file at a time.
help
Package help is the app's documentation UI: the embedded end-user manual, the About box, and the Help menu that opens either.
Package help is the app's documentation UI: the embedded end-user manual, the About box, and the Help menu that opens either.
infoview
Package infoview owns the persistent info overlay (the I key, see internal/ui/info.go's toggleInfoOverlay): its three widgets - the text label, the "Show EXIF data" link, and the card container - the current file's raw facts (byte size, EXIF presence, RAW-preview flag), and its own toggle preference and text formatting.
Package infoview owns the persistent info overlay (the I key, see internal/ui/info.go's toggleInfoOverlay): its three widgets - the text label, the "Show EXIF data" link, and the card container - the current file's raw facts (byte size, EXIF presence, RAW-preview flag), and its own toggle preference and text formatting.
menus
Package menus owns the window menu bar's stateful items - the File, Window and Actions entries whose Checked/Disabled state has to move as the app's state moves - and computes that whole matrix in one place, as a pure function of a State value snapshot.
Package menus owns the window menu bar's stateful items - the File, Window and Actions entries whose Checked/Disabled state has to move as the app's state moves - and computes that whole matrix in one place, as a pure function of a State value snapshot.
settingswin
Package settingswin is the Settings window, reachable from the File menu: one place to see and change every standing preference the app has - sort order, appearance, merge mode, picture-frame shuffle and interval, the folder-scan cap, the window-size cap, whether the window stays a fixed size, the three memory limits (image cache, thumbnail cache, maximum file size), and whether favorite previews are cached to disk - instead of only discovering them by stumbling onto their keyboard shortcuts.
Package settingswin is the Settings window, reachable from the File menu: one place to see and change every standing preference the app has - sort order, appearance, merge mode, picture-frame shuffle and interval, the folder-scan cap, the window-size cap, whether the window stays a fixed size, the three memory limits (image cache, thumbnail cache, maximum file size), and whether favorite previews are cached to disk - instead of only discovering them by stumbling onto their keyboard shortcuts.
slideshow
Package slideshow is picture-frame mode (the P key): the window goes full-screen and, with more than one file loaded, advances to the next image on its own every few seconds - a photo frame rather than a viewer.
Package slideshow is picture-frame mode (the P key): the window goes full-screen and, with more than one file loaded, advances to the next image on its own every few seconds - a photo frame rather than a viewer.
spiral
Package spiral is the Hypno Spiral easter egg: a full-screen, GPU-shader spiral in a window of its own, ported from a standalone Fyne demo into picfetch's package layout.
Package spiral is the Hypno Spiral easter egg: a full-screen, GPU-shader spiral in a window of its own, ported from a standalone Fyne demo into picfetch's package layout.
widgets
Package widgets holds the viewer-free UI mechanics shared across the app's feature packages: the tappable area behind the drop zone, the singleton-window helper the secondary windows share, and the style values below.
Package widgets holds the viewer-free UI mechanics shared across the app's feature packages: the tappable area behind the drop zone, the singleton-window helper the secondary windows share, and the style values below.
zoom
Package zoom is the zoom/pan view of the displayed image: the 0/1/+/- keys, click-and-drag panning, and scroll-to-zoom anchored at the pointer.
Package zoom is the zoom/pan view of the displayed image: the 0/1/+/- keys, click-and-drag panning, and scroll-to-zoom anchored at the pointer.
Package uitest provides test fixtures shared by this module's test suites: synthetic image files in every format the viewer reads, the temp files and URIs to hand them over by, and swap-in stubs for the OS-level seams (file chooser, image clipboard).
Package uitest provides test fixtures shared by this module's test suites: synthetic image files in every format the viewer reads, the temp files and URIs to hand them over by, and swap-in stubs for the OS-level seams (file chooser, image clipboard).
Package update talks to GitHub Releases, verifies GitHub immutable release attestations, and replaces the running binary.
Package update talks to GitHub Releases, verifies GitHub immutable release attestations, and replaces the running binary.
Package wallpaper sets the current OS's desktop wallpaper to an image file, for the Actions > "Set as Wallpaper" action.
Package wallpaper sets the current OS's desktop wallpaper to an image file, for the Actions > "Set as Wallpaper" action.
Package wingesture recognises a spiral drawn by dragging a window around the desktop, and which way round it was drawn.
Package wingesture recognises a spiral drawn by dragging a window around the desktop, and which way round it was drawn.
Package winpos reads and writes the on-screen position of a Fyne desktop window.
Package winpos reads and writes the on-screen position of a Fyne desktop window.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL