ePassport: stop disabled buttons drawing as three bands

Kivy's stock disabled button texture is pale at the edges and dark in the
middle.  Stretched across a wide button the edges stay put and the middle
grows, so it reads as three vertical bands with the label sitting on the
dark one and disappearing - "Delete dump" is unreadable at startup, where
it is disabled because no dump is loaded yet.

Keep the normal background for the disabled state and let the dimmed label
carry it instead.  The text goes to 45% rather than Kivy's 30%, which is
faint on that grey.

Applied as a Button rule because nine buttons across the app bind
disabled: Export, Open folder, the camera button, Samples, the bin button
and the rest all band the same way.  The one button that sets its own
transparent background stays transparent, since background_color
multiplies the texture.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Paul Kilar
2026-09-01 13:52:24 -04:00
co-authored by Claude Opus 5
parent 0d8b99b2a1
commit ad016cf6fe
2 changed files with 8 additions and 0 deletions
+1
View File
@@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file.
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
## [unreleased][unreleased]
- Fixed `tools/ePassport` - a disabled button drew Kivy's banded disabled texture, which left its label unreadable (@pkilar)
- Fixed `hf 14b` - a card asking for a waiting time extension of 4 or more left the timeout at zero, so any ISO14443-B card needing time to answer looked like it had stopped responding (@pkilar)
- Fixed `hf mfdes chk` - now handles `-k` user supplied keys properly (@iceman1001)
- Fixed `BigBuf_Clear_keep_EM()` - now also clear the trace length set (@iceman1001)
+7
View File
@@ -7,6 +7,13 @@
#:import ScanScreen epassport.ui.scan.ScanScreen
#:import BinButton epassport.ui.widgets.binbutton.BinButton
# Kivy's disabled button texture is pale at the edges and dark in the middle,
# which stretches into three bands and leaves the label unreadable. Keep the
# normal background and let the dimmed text carry the disabled state.
<Button>:
background_disabled_normal: "atlas://data/images/defaulttheme/button"
disabled_color: 1, 1, 1, 0.45
<Root>:
orientation: "vertical"
canvas.before: