// pocketViewer

Frameless image viewer with global hotkey toggle. Rebuild applies the radix shell — slate sans-serif palette, dual-region toolbar, info bar, on-screen placement grid.
source repoartificer3120/pocket-viewer · 547 lines · PyQt5 mockupradix-pocketviewer statusawaiting 4 decisions
radix-pocketviewer mockup (live)open ↗

What stays

Decisions needed

decision 1 · PiP semantics

Mockup shows "PiP" as the 6th grid cell and a toolbar button. What does PiP do that snap-6 doesn't? Always-on-top mini overlay anchored bottom-right (ignores work-area)? Same as snap-6 (just rebrand)? Picture-in-picture floating that follows the cursor?

decision 2 · snap-right target

Toolbar has a dedicated snap-right (↦). Snap to slot 3 (top-right), slot 6 (bottom-right), or explicit half-screen-right?

decision 3 · fade button

Toggle the existing 10s auto-fade on/off, or trigger an immediate fade now?

decision 4 · hotkey label

Mockup shows "Shift+6" baked into the titlebar. Read from the actual --hotkey arg, or hardcode the label?

Work orders

WO-1 — theme migration

Cream → slate panel, Courier → system sans-serif, recolor traffic dots, bump corner radius.

WO-2 — titlebar additions

Add teal PiP badge (when slot==6 or PiP active), hotkey label on far right. Drop or relocate the file counter.

WO-3 — toolbar

Insert below image area: Previous / Fit / 1:1 / Next | Snap-right / PiP / Fade. 7 buttons, 28x28, slate palette.

WO-4 — info bar

filename · WxH · KB on left, slot N (label) on right.

WO-5 — placement grid widget

3x2 button grid below the widget. Click sets slot. Active cell uses --link blue.

WO-6 — wiring + smoke test

Run with a sample image, exercise all 7 toolbar buttons + 6 grid cells, capture before/after screenshots, munch.

Out of scope