From 547b810eea19b0c72731e30ca3e2e339593c1833 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 12 Jul 2026 17:30:26 +0300 Subject: skeleton: GtkApplication, window, GSettings schema, desktop, tests (ft0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit M0 (task ft0): the app shell — no feature views yet (those are M1 large, M7 grid). - src/main.c: g_application_run + --version via handle-local-options (--help is GApplication's own); exits before activate so --version works headless. - src/app.{c,h}: GgazeApp : AdwApplication : GtkApplication (libadwaita styling, decision #29), single-instance (decision #32), G_APPLICATION_HANDLES_OPEN; activate + open reuse the active window (replace-on-new-open); ggaze_window_open remembers the GFile. - src/window.{c,h}: GgazeWindow : GtkApplicationWindow with AdwHeaderBar and a GtkStack (children 'grid'/'large', default 'grid'); dispose clears the file. - data/org.buetow.ggaze.desktop (image/* MIME, validated) and data/org.buetow.ggaze.gschema.xml (all keys + defaults, --strict clean). - meson: libggaze static lib shared by the executable and tests; install to bindir/applications/glib-2.0 schemas; gnome.post_install compiles schemas + updates desktop db. - tests: unit test_app (--version/--help/unknown via subprocess), integration test_window (offscreen stack checks + open-titles), bootstrap. 3/3 green. - docs/tech-stack.md: window-geometry shape corrected to (width,height, fullscreen,maximized) to match the schema. --- docs/tech-stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/tech-stack.md') diff --git a/docs/tech-stack.md b/docs/tech-stack.md index f8b54b3..7dc1191 100644 --- a/docs/tech-stack.md +++ b/docs/tech-stack.md @@ -70,7 +70,7 @@ it. Treat as a later milestone, but design the loader signature for it now. - `slideshow-delay` — double (seconds) - `thumbnail-size` — int: grid thumbnail pixel size (resizable via `+`/`-`) - `hide-trashed` — bool -- `window-geometry` — `(iiib)` width, height, maximized; persisted, restored on launch +- `window-geometry` — `(iiib)` (width, height, fullscreen, maximized); persisted, restored on launch - `destinations` — `a(ss)`: ordered array of `(name, path)` pairs for the `m` move popup. List order determines auto-assigned hotkeys (`1`, `2`, …). Edited via the Preferences dialog (`,`) or `gsettings`. -- cgit v1.2.3