- Implement widtimer widget following BangleJS naming conventions
- Add double-swipe protection against accidental activation
- Support gesture controls: swipe right/left ±1min, up/down ±10min
- Include battery optimization with adaptive refresh rates (10s/1s)
- Provide visual feedback with color-coded states
- Generate 3-pulse completion notification over 5 seconds
- Use vector font for crisp display
- Store persistent timer state across device restarts
The widget requires double-swipe in same direction to unlock controls,
then allows single swipes for 10 seconds before auto-locking.
Refresh rate automatically switches from 10s to 1s in final minute.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This copies changes from bwclk into bwclklite. For reference, see
PR #3845 and commits 83bedcd and 04f3475.
Previously, all text in a clock info entry was centered. This caused
long lines to spill off both sides of the screen, and entries with
more than two lines to cover the time. With this change, clock info
text is arranged so it only ever spills off the right and bottom.
This allows the start of any text to always be visible, and the time
to never be covered, regardless of the amount of text. To achieve
this, multiple lines are now left-aligned instead of center-aligned,
and single lines are wrapped.
Previously, one line of text would use a large font if the text
fits in the clock info space, and a smaller text if the one line
is too long to fit when large. This commit also adds string
wrapping to those long lines, so more of the line can be shown.
Note wrapping is only applied when the text starts as one line; any
text with more than one line is left unwrapped, meaning some text
may extend outside of the clockinfo area.