From 1920391402eca39e4e7ed73f0790f7a7d744cf91 Mon Sep 17 00:00:00 2001 From: Niclas Overby Date: Sat, 15 Aug 2026 06:06:24 +0200 Subject: [PATCH] test(cider): the invisible button label is alternateSelectedControlTextColor, and it is on top Two corrections and one identification, all from the colour probe, which gives every system colour a unique bright value and prints the name beside it. Reset, Apply, Cancel one probe colour OK ANOTHER, #E87F9D, and the log names it exactly cider-wayland-color name=alternateSelectedControlTextColor probe=0.9067,0.5,0.6167 232/255, 127/255, 157/255. An exact match, and nothing else in the run is close. FIRST CORRECTION: THE LABEL IS DRAWN ON TOP OF OUR BEZEL, not underneath it. In the probe run it is plainly visible over the white bezel. An earlier commit said the half alpha probe had settled that it was underneath. It had not: half alpha cannot tell white text under a white bezel from white text on top of one, because it comes out white either way, and I read it as proof. SECOND CORRECTION: in the Options dialog the button region has no pixels that differ from the bezel, which I took to mean nothing was drawn there. It is drawn, in a colour that is white in the real palette. The three buttons beside it use controlTextColor and are perfectly visible. WHY THIS IS NOT A ONE LINE FIX. alternateSelectedControlTextColor is white on macOS and correctly white here: it is the text colour for an emphasised background. LibreOffice uses it for DEFAULT BUTTON text and expects that button to be filled with the accent colour, which on macOS happens because AppKit knows which cell is the window default button. LibreOffice tells us nothing: all four buttons arrive with identical cell state, no title, no key equivalent, no view, state 0, and only their widths differ. There is no signal to key on and inventing one would be a guess dressed as a fix, so this stays open with the cause named rather than closed with a heuristic. docs/wayland-default-button-colour-probe.png is the picture that names it. --- docs/wayland-default-button-colour-probe.png | Bin 0 -> 12896 bytes docs/wayland-port.md | 36 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 docs/wayland-default-button-colour-probe.png diff --git a/docs/wayland-default-button-colour-probe.png b/docs/wayland-default-button-colour-probe.png new file mode 100644 index 0000000000000000000000000000000000000000..f82b3ed4fdbd58198ce74c43e2c75393644c5a11 GIT binary patch literal 12896 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