mirror of
https://github.com/kuhyx/diet-guard.git
synced 2026-11-10 19:07:15 +01:00
docs: the schedule combobox popdown maps beneath the lock surface
Observed on Xvfb with the demo gate: the ComboboxPopdown is viewable but stacked under the gatelock surface, so typing and Up/Down are the paths. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015npsYVB2PdtWkG7MPAi4tn
This commit is contained in:
parent
c310861855
commit
4e5c6b453e
@ -2,7 +2,7 @@ name: diet_guard_app
|
||||
description: "Companion phone app for diet_guard: log meals on the go."
|
||||
publish_to: 'none'
|
||||
|
||||
version: 1.0.107+1
|
||||
version: 1.0.108+1
|
||||
|
||||
environment:
|
||||
sdk: ^3.12.2
|
||||
|
||||
@ -10,12 +10,13 @@ offers every quarter hour, and the user may also type any ``HH:MM``. The
|
||||
``ttk`` import is load-bearing for the tests, which patch this module's
|
||||
``ttk`` with a fake -- keep binding it at module level.
|
||||
|
||||
**The dropdown is a popup over a grabbed lock.** gatelock's grab watch treats
|
||||
a ``ttk.Combobox`` popdown as "grab lost" and re-takes the grab within about a
|
||||
second, which closes the list. So the list is a convenience, never the only
|
||||
path: typing works, and Up/Down step the value by 15 minutes *without* posting
|
||||
the list (:func:`step_time`), which keeps the row fully usable from the
|
||||
keyboard on the real lock.
|
||||
**The dropdown is a popup over a lock that keeps itself on top.** Observed on
|
||||
Xvfb (2026-10-10, demo gate): the ``ComboboxPopdown`` window maps but sits
|
||||
*beneath* the lock surface, which gatelock re-raises; on the real lock its grab
|
||||
watch also treats the popdown as "grab lost" and re-takes the grab. So the
|
||||
list cannot be relied on: typing works, and Up/Down step the value by 15
|
||||
minutes *without* posting the list (:func:`step_time`), which keeps the row
|
||||
fully usable from the keyboard.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
@ -86,7 +86,9 @@ Editable on both surfaces: the app's Settings screen
|
||||
(`_gatelock_scheduleedit.py`, widgets in `_gatelock_calendar_schedule.py`).
|
||||
The gate's first/last fields are `ttk.Combobox`es offering every quarter hour
|
||||
and accepting any typed `HH:MM`; Up/Down step 15 minutes without posting the
|
||||
dropdown, which gatelock's grab watch would close over the real lock.
|
||||
dropdown. Typing and Up/Down are the real paths: the popdown list maps
|
||||
*beneath* the lock surface (gatelock keeps it raised), and on the real lock the
|
||||
grab watch re-takes the grab from it.
|
||||
|
||||
`diet-guard-gate.timer` fires every 15 minutes (`*:00/15:00`), so it lands on
|
||||
every grid slot exactly; an off-grid first/last meal is caught by the next
|
||||
|
||||
Loading…
Reference in New Issue
Block a user