How often did you experience start typing with undesirable language layout after switching windows? If so, this might interest you.
This annoyance can be encountered on every OS AFAIK and surprisingly it hasn’t been addressed properly. The main problem is that user can easily get lost when switching windows and/or forget about changed language layout, especially on large screens where tray indicator is not very noticeable.
To make language layout input more noticeable, my proposal is one of the following:
Change cursor border color to unique one for each alternative language layout user has defined in settings.
Change only I-beem(text) cursor border color
Set unique I-beem cursor shape with indexed text seen on system tray - e.g. I fr
While open to debate, IMHO the best implementation is 3) since it is good enough for colorblind people as well. Also arguably, it can be (later) further expanded to support CAPSLOCK state.
REASONING:
This can be seen as continuation of “We Care About Your Input” KDE goal.
“In GNOME 51, pointer cursors are rendered from scalable SVG images”, so we can safely assume SVG cursors are a standard by now.
Such unique feature can be easily regarded as “first good impression” for new users, and may affects many as KDE strives internationally.
TTBT, I’m not fully aware of underlying work requested for such task considering history of quirks with changing cursors on Linux, but to my knowledge it shouldn’t be too demanding. Of course, advices and better insights are always welcomed.
Hi @whunter — I can take a look at this. Before I start coding, could you reserve the €50 bounty for me and confirm PayPal payment to Brazil is fine?
I’d also like to check the upstream approach with Plasma/KWin first, so I don’t build something maintainers won’t accept. If that’s okay, I’ll post the implementation plan before I start.
Hi @Franklin3D, thanks for taking interest in this proposal.
Before I start coding, could you reserve the €50 bounty for me
Since no one made any interest yet may I propose a gentleman agreement: I’ll reserve bounty for you for 20 days in which time you are expected to post implementation plan as you mentioned yourself, as well as a reasonable timeline for implementing MR.
and confirm PayPal payment to Brazil is fine?
I’m not sure I understand what exactly you mean by this?!? For what I know and correct me if I’m wrong, Brazil handle PayPal transfers with no limitations.
I’d also like to check the upstream approach with Plasma/KWin first, so I don’t build something maintainers won’t accept. If that’s okay, I’ll post the implementation plan before I start.
Thanks, that works for me. Plan: use KWin’s existing KeyboardLayout/Xkb layout-change signal as the source of truth; prototype an opt-in compositor-side label on the standard text/I-beam cursor only; leave other/custom client cursors unchanged; test live switching, scaling, multi-screen, Wayland and XWayland. I’ll put the hook past KWin maintainers first. Timeline: design check in 1-2 days, then about 5-7 days to a testable MR after agreement.
Sounds good to me. For an acceptable MR you will probably be required to incorporate cursor theme monitor and KCM checkbox. All in all, although it might not be that difficult at first glance, the timeline might be to rigid, don’t rush yourself, I hope to hear from you within 2 weeks.
Hi @whunter — quick progress update before the two-week mark.
I traced the existing KWin keyboard-layout change path and the likely implementation points, including the cursor-theme monitoring and opt-in KCM checkbox you mentioned. I don’t have a tested patch or MR yet, so I don’t want to overstate progress or give you a fake ETA.
I’m validating the upstream shape first so the implementation lands in the right place. I’ll post the concrete patch/MR once it is actually tested. Thanks for your patience.
A quick update since my October 19 post: I opened KWin draft MR
!10146. Its main checks passed (qml-lint, REUSE, XML, YAML, cppcheck
and the openSUSE Qt 6.11 build), though optional CI variants have not
run. The Plasma Desktop companion, including the opt-in KCM setting,
is still on a branch and needs integration testing and its own MR.
Nothing has merged yet.
The 20-day reservation from October 5 is nearly over. Would you be
comfortable extending it by two weeks, through November 8, while I
finish the companion work and address upstream review?