Documentation
¶
Overview ¶
Application assembly and wiring: buildViewer composes app-owned components with the registered feature widgets, builds the root overlay stack, and installs the window's input handlers.
App-owned component construction: the fixed-height layout and the small widget clusters buildViewer composes into the window. Each new*UI constructor builds one cluster and returns it as a small struct - the widgets themselves still land in the viewer's flat fields for now.
favthumbs.go is the viewer-side wiring for the disk-backed favorite preview cache (internal/favthumbs): the "Cache favorite previews on disk" preference the settings window binds to, and the background pass the favorites feature asks for whenever a favorite's file list changes.
Package ui is the application itself: the viewer, its widgets, and every feature wired onto it. The module root's package main is only the entry point - it builds the fyne.App, loads translations, and calls Run below.
Application-wide shortcut registration. The individual wiring functions remain separate so focused tests can exercise the production bindings directly through Fyne's shortcut handler.
Startup assembly loads persisted inputs once, constructs the complete viewer, and only then restores geometry. Runtime side effects remain in run.go and start after this sequence returns.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
This section is empty.
Source Files
¶
- actionmenu.go
- asyncop.go
- autoupdate.go
- batch.go
- build.go
- clipboard.go
- components.go
- drop.go
- export.go
- favthumbs.go
- features.go
- gesture.go
- info.go
- keys.go
- lifecycle.go
- load.go
- memlimits.go
- menu.go
- openfiles.go
- openwith.go
- rotate.go
- run.go
- save.go
- session.go
- shortcuts.go
- slideshow.go
- sort.go
- startup.go
- state.go
- toast.go
- vector.go
- viewer.go
- visibility.go
- wallpaper.go
- windowmenu.go
- windowmenu_notdarwin.go
- windowtrack.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package assets holds the images the UI embeds into the binary.
|
Package assets holds the images the UI embeds into the binary. |
|
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). |
|
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. |
|
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. |
|
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. |
|
Package favorites owns the Favorites menu and its dialogs.
|
Package favorites owns the Favorites menu and its dialogs. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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, merge mode, picture-frame shuffle and interval, the folder-scan cap, the window-size cap, 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, merge mode, picture-frame shuffle and interval, the folder-scan cap, the window-size cap, 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 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. |
|
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. |
|
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. |
|
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. |