From: serg.partizan@gmail.com Date: Mon, 30 Nov 2020 13:41:20 GMT Subject: Re: [PATCH] git-gui: use gray selection background for inactive text widgets Message-ID: In-Reply-To: <1a42781d-0e4c-6478-f26d-5eccbd9c6205@haller-berlin.de> On Sun, Nov 29, 2020 at 18:40, Stefan Haller 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.