From 0b9dc4eec752d6d48aab696d06b33f4782e9db4f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 14 Jul 2026 14:55:24 +0300 Subject: polish: AppStream, man page, RPM spec, full lifecycle test (yt0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit M10 (task yt0): polish & packaging. - data/org.buetow.ggaze.metainfo.xml: AppStream metainfo. - data/ggaze.1: man page with keybindings reference. - packaging/ggaze.spec: Fedora RPM spec. - data/meson.build: installs desktop+metainfo+gschema+man; gnome.post_install. - tests/test_full_lifecycle.c: scripted elevator-pitch session (open→walk→ info→trash→undo→grid toggle→quit). 21/21 green, ASan clean. - Coverage gate flip, quality audit, window-geometry persistence, and full GSettings wiring deferred to a follow-up (not blocking v0.1 release). --- data/ggaze.1 | 71 ++++++++++++++++++++++++++++++++++++++ data/meson.build | 11 ++++-- data/org.buetow.ggaze.metainfo.xml | 42 ++++++++++++++++++++++ 3 files changed, 121 insertions(+), 3 deletions(-) create mode 100644 data/ggaze.1 create mode 100644 data/org.buetow.ggaze.metainfo.xml (limited to 'data') diff --git a/data/ggaze.1 b/data/ggaze.1 new file mode 100644 index 0000000..650856b --- /dev/null +++ b/data/ggaze.1 @@ -0,0 +1,71 @@ +.TH GGAZE 1 "2026-07-12" "ggaze 0.1.0" "User Commands" +.SH NAME +ggaze \- fast native image viewer for culling camera shoots +.SH SYNOPSIS +.B ggaze +[\fIFILE\fR | \fIFOLDER\fR] [\fI--version\fR] [\fI--help\fR] +.SH DESCRIPTION +ggaze (GNOME Gaze) is a small, fast, native image viewer for Fedora Linux, +written in C with GTK4. It opens a file or folder, shows a thumbnail grid, +and lets you flip through the shoot with vi-style keys, check EXIF, trash +rejects, and move on. No library, no database, no sidecars. +.SH KEYBINDINGS +.TP +.B h / l / Left / Right +Previous / next image +.TP +.B Enter / Esc +Grid \[ua] large view / contextual back +.TP +.B i +Info overlay (EXIF) +.TP +.B d / D +Trash to ./.Trash (undoable) / permanent delete +.TP +.B u +Undo last trash or delete +.TP +.B v / V / Ctrl+a +Toggle mark / range mark / mark all +.TP +.B m +Move marked images to a destination popup +.TP +.B e +Open in an external program popup +.TP +.B ! +Run a shell script popup +.TP +.B a +Quick GEGL enhance popup (optional) +.TP +.B f / S +Fullscreen / slideshow +.TP +.B t +Toggle grid \[ua] large +.TP +.B + / - +Zoom in / out (large) or grow / shrink thumbnails (grid) +.TP +.B o +Open file/folder dialog +.TP +.B ? +Shortcuts overlay +.TP +.B q +Quit +.SH FILES +.TP +.I ~/.cache/thumbnails/ +freedesktop thumbnail cache (shared with other compliant apps) +.TP +.I ./.Trash/ +Local trash folder beside the images (recoverable, not the system trash) +.SH SEE ALSO +.BR feh (1), +.BR nsxiv (1), +.BR gthumb (1) \ No newline at end of file diff --git a/data/meson.build b/data/meson.build index c12b619..8dea27b 100644 --- a/data/meson.build +++ b/data/meson.build @@ -1,13 +1,18 @@ -# ggaze data: .desktop entry + GSettings schema. Full AppStream/icon install -# lands in M10; this wires the basics so `meson install` lays out the app and -# compiles the schema. gnome.post_install also refreshes the desktop database. +# ggaze data: .desktop entry + GSettings schema + AppStream metainfo + man page. +# `meson install` lays out the app, compiles the schema, and refreshes the +# desktop database. install_data('org.buetow.ggaze.desktop', install_dir : join_paths(get_option('datadir'), 'applications')) +install_data('org.buetow.ggaze.metainfo.xml', + install_dir : join_paths(get_option('datadir'), 'metainfo')) + install_data('org.buetow.ggaze.gschema.xml', install_dir : join_paths(get_option('datadir'), 'glib-2.0', 'schemas')) +install_man('ggaze.1') + gnome = import('gnome') gnome.post_install( glib_compile_schemas : true, diff --git a/data/org.buetow.ggaze.metainfo.xml b/data/org.buetow.ggaze.metainfo.xml new file mode 100644 index 0000000..a2cebf1 --- /dev/null +++ b/data/org.buetow.ggaze.metainfo.xml @@ -0,0 +1,42 @@ + + + + org.buetow.ggaze + CC0-1.0 + GPL-3.0-or-later + ggaze + Fast native image viewer for culling camera shoots + +

ggaze (GNOME Gaze) is a small, fast, native image viewer for Fedora + Linux. It opens a folder of pictures, shows a thumbnail grid, and lets + you flip through the shoot with vi-style keys, check EXIF, trash rejects, + and move on — no library, no database, no sidecars.

+
+ org.buetow.ggaze.desktop + https://codeberg.org/snonux/ggaze + + ggaze + + + Graphics + Viewer + Photography + + + image + viewer + photo + camera + culling + + + keyboard + mouse + + + + +

Initial development release.

+
+
+
\ No newline at end of file -- cgit v1.2.3