On Sun, Nov 29, 2020 at 18:40, Stefan Haller <stefan@xxxxxxxxxxxxxxxx>
wrote:
After spending quite a while single-stepping through lots of Tk code,
I
found the reason. On Mac, disabled text widgets simply don't draw the
selection background. [1]
I can see three options for solving this:
1) Don't use "state focus" and "state !focus" on the text widgets, but
instead set the selection color manually using "text conf sel
-background". Disadvantage: have to calculate the disabled color
using a heuristic like I did for the file lists in my v2 patch.
2) Don't use "configure -state disabled" to make the diff text widget
read-only; instead, use one of the other methods from [2].
Disadvantage: quite a big change, and seems complex to me.
3) Enable the the diff widget when it loses focus, and disable it
again
when it gets focus. I tried this in a quick prototype, and it works
very well. It just *feels* wrong to enable a read-only text widget
while it is unfocused; but I couldn't find any situation where it
would behave wrong, because as soon as you try to interact with it,
the first thing that happens is that it gets disabled again.
I tend towards option 3, because it's reasonably simple and works.
I'll
work on a patch tomorrow unless anybody has objections.
I don't like any of this options, as it makes code complicated. I
personally would prefer to not implement this feature at all, but
that's just me.
Maybe Pratyush can say something reasonable about this, as maintainer.
I propose to wait a week or two for other opinions, before starting to
write a patch.