@davidfor: Yeah, the timing issue is also compounded by the fact that if you're launching something that kills Nickel, that might effectively rollback (well, discard with WAL) the last few events related to the icon you've just clicked anyway

.
(I readily admit to never having checked how well nickel copes with SIGTERM in terms of DB handling, so this point may well be moot

).
But that's definitely worth looking into nonetheless!
EDIT: And, yeah, the icon gets marked as Finished (or 99% Read for stuff that kills Nickel)

.
@sv2000: My attempts to poll the screen refreshes were met with utter failure, so I guess I'd take the reverse approach: poll the touch input, and only scrape when you detect a touch in your area of interest.
EDIT: Wait, chicken & egg issue if you want to draw the icon *first*, as an indicator of where to touch... Ooops.

.
EDIT²: And not much luck either with the DB, in terms of figuring out where we are (especially as far as the Home screen is concerned), either via
SELECT * FROM Activity ORDER BY Date; or
SELECT * FROM Event ORDER BY LastOccurrence; ;/.
EDIT³: Some more luck w/
SELECT * FROM AnalyticsEvents ORDER BY Timestamp;, except that it seems to be updated in short bursts, and not instantaneously :?