Subject: Re: bug#14957: 24.3.50; Flyspell language visible in mode line

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 18 Sep 2020 17:10:53 +0200

Michael Heerdegen <[email-masked]> writes:

> Lars Ingebrigtsen <[email-masked]> writes:
>
>> Perhaps putting it in the Flyspell lighter?  So it'd be
>>
>> ... (Text Fly[br] Fill)
>
> Yes, I think so.  What's a reasonable alternative at all?

The language could be put in the mode-line-process position, which is
ahead of the modes:

  ...  [br]  (Text Fly Fill)

>> I'm not sure whether that's possible with the mode line machinery,
>> though -- we want clicking on "Fly" to switch the mode off, but
>> clicking on "[br]" to allow changing the dictionary.
>
> That should be possible I think.

I haven't looked at how minor mode lighters are constructed -- if we can
use any old mode line constructs, then it should be fine.  I.e., instead
of

(propertize "Fly" ...)

it'd be

(,(propertize "Fly" ...) ,(propertize "[br]"...))

> Ideally, the part with the clickable
> language would be factored as a separately usable mode-line element so
> that people who don't want to have all minor modes in the mode-line
> still can take advantage of something built-in.

I didn't consider that use case, but that should be easy enough to
achieve.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no