You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
An X11 + PyQt5 port, if you want it — no strings attached #16
Offering it to you with nothing attached: take the code, fork it, link it from the
README, or ignore this entirely. No CLA, no expectation of review or maintenance,
and I'm not asking you to merge anything.
What it is: one ~950-line Python file, PyQt5, no build step, no pip, no network at
install. install.sh writes into $HOME and --uninstall / --purge take it
back out. Parity with the Mac app: all 36 hands plus the laser dot, tap sounds,
drag-to-draw ink, the centred picker toolbar, tray menu, settings dialog, and
Ctrl+Alt+H / Ctrl+Alt+X. One addition — the middle (wheel) button clears the ink.
Panels stay live: the overlay covers availableGeometry(), so the cursor over the
panel is the real one.
It never vendors your art: it reads the hand PNGs from assets/ and measures
sprite geometry from alpha at load, so any hand you add works there too. Your
LICENSE travels with the tree, unmodified.
The part worth pointing at if you ever do want it upstream: it ships an acceptance
suite that proves the promise that matters — clicks are swallowed. Control run
first (2/2 clicks reach a counting window with the overlay down), then the overlay
swallows a click, then Ctrl+click delivers exactly once via hide + XTEST replay.
Plus a pixel diff showing the hand actually drew, and a launcher idempotency
check. Seven groups, exit 0 only if nothing fails; passes on Debian 13 / Xfce 4.20
at 1920x1080 and on a 3840x1200 two-head desktop.
Two honest notes. It is X11 by nature — a Wayland client cannot consume input
aimed at other applications, so it cannot work there; it is not a competitor to #14 (KDE/Plasma, layer-shell), the two simply cover different sessions. And the
port was written by my AI agent on my machines, with me directing and testing — the
same disclosure @m1ga made on #14.
Unofficial, not affiliated with or endorsed by you; the name is only there to say
what it is a port of. Use it or bin it.
Activity