SUMMARY This is a regression AFAIK, I don't think it behaved that way before. When keyboard layout switched, the popup about it is shown right in the middle of the screen. This is very annoying, because layout change isn't like a very important information, this should be shown elsewhere similarly to other notifications. Even critical notifications not shown in the center of the screen, but "layout change" somehow does. Not only this distracts (I really-really tried to ignore this till now), but as I just found it sometimes covers the text. You can test it yourself as: 1. Run Telegram, maximize the window, then go to a chat with someone 2. Copy-paste an image 3. Try changing the layout You'll find that location where notification pops up fully covers the text you're typing, meaning you now have to type text blindly every time you switch layout. I think the notification should obey the system-wide setting for notifications position, which would solve this bug just fine. STEPS TO REPRODUCE 1. Set up 2 or more keyboard layouts 2. Change the layout, by either clicking the "keyboard layout" widget or by using a hotkey. OBSERVED RESULT "Layout change" notification appears in the center of the screen EXPECTED RESULT "Layout change" notification should appear elsewhere, ideally obeying the system-wide notification settings. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.3.3 KDE Frameworks Version: 6.11.0 Qt Version: 6.8.2 Kernel Version: 6.13.6-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 12 × Intel® Core™ i5-10500H CPU @ 2.50GHz Memory: 15.3 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics
Oh yeah, was thinking, I forgot to mention another problem with the situation. "Layout change" is often annoyingly shown when you just start typing. I kinda see what it's been done, so that switching between windows without typing anything wouldn't show extra notifications. But in the context of the situation this often results that you _seemingly_ did not switch layout, but you get layout switch notification. So overall, having this notification in the center of the screen is a bad design on all accounts. The notification per se is just a fancy, and fancies are only good as long as they don't get in your way, which is certainly not the case here.
The thing you're talking about isn't actually a notification, it's an "OSD" (an "on-screen display"), like the thing that appears when you change the volume or the screen brightness. OSDs have always appeared in this position; it's not a new change. And it's intentional, sorry.
(In reply to Nate Graham from comment #2) > The thing you're talking about isn't actually a notification, it's an "OSD" > (an "on-screen display"), like the thing that appears when you change the > volume or the screen brightness. OSDs have always appeared in this position; > it's not a new change. And it's intentional, sorry. Okay, but can it be moved somewhere? I mean, it is an actual problem: it's not just annoying, it covers the text you are typing. It is an actual usability problem.
The OSD covers the text you're typing if the text happened to be right under the place where the OSD appears. System notifications have exactly the same problem (in fact worse, because they're larger) . Unfortunately there is no place on screen where a popup can appear without having a chance of covering up what you might have been looking at or working on.
(In reply to Nate Graham from comment #4) > The OSD covers the text you're typing if the text happened to be right under > the place where the OSD appears. Right > System notifications have exactly the same problem (in fact worse, because > they're larger). They don't. They appear on the side of the screen, and having something you're working on at that position is much rarer event that having it in the center. > Unfortunately there is no place on screen where a popup can appear without > having a chance of covering up what you might have been looking at or working > on. Sure no position can guarantee the text isn't covered. But some positions (such as the side of the screen) have much less probability of that happening. Anyway, is there at least an option to move these OSDs elsewhere? Perhaps with window rule or whatnot? > OSDs have always appeared in this position; it's not a new change I might have never seen it because I always used Plasma with i3wm, the positioning there was different. Somehow, every time I try migrating on Wayland, I get into these situations… Sorry for the rant…
(In reply to Konstantin Kharlamov from comment #5) > They appear on the side of the screen, and having something you're > working on at that position is much rarer event that having it in the center. That's not a universal fact; it very much depends on how you use the system. For example if you have two windows tiled side-by-side, it's very common to be entering text at the bottom of the window, and this will be covered up by notifications. For chat apps, it happens pretty much 100% of the time. > Anyway, is there at least an option to move these OSDs elsewhere? Perhaps > with window rule or whatnot? At the moment I don't believe so. However notifications are relocate-able, so in principle it may make sense for us to allow people to relocate the OSD windows too, so at least if their personal workflow is impacted, they can move it. I've done this with notifications because my personal workflow was very severely impacted by the default positioning. The least disruptive I found for notifications was actually centered at the top of the screen! We also get complaints about this from people saying the volume change OSDs can cover up subtitles or the actor's face while watching videos. Seems to happen a lot due to modern video content often having vocals that are a lot quieter than the music and the explosions, so you raise the volume when an actor starts talking, and the OSD immediately appears and covers up their mouth or the subtitles! I'd recommend opening a new bug report asking for the OSD position to be configurable. I won't close that one as RESOLVED INTENTIONAL. :)
(In reply to Nate Graham from comment #6) > (In reply to Konstantin Kharlamov from comment #5) > > They appear on the side of the screen, and having something you're > > working on at that position is much rarer event that having it in the center. > That's not a universal fact; it very much depends on how you use the system. > For example if you have two windows tiled side-by-side, it's very common to > be entering text at the bottom of the window, and this will be covered up by > notifications. For chat apps, it happens pretty much 100% of the time. > > > > Anyway, is there at least an option to move these OSDs elsewhere? Perhaps > > with window rule or whatnot? > At the moment I don't believe so. > > However notifications are relocate-able, so in principle it may make sense > for us to allow people to relocate the OSD windows too, so at least if their > personal workflow is impacted, they can move it. I've done this with > notifications because my personal workflow was very severely impacted by the > default positioning. The least disruptive I found for notifications was > actually centered at the top of the screen! > > We also get complaints about this from people saying the volume change OSDs > can cover up subtitles or the actor's face while watching videos. Seems to > happen a lot due to modern video content often having vocals that are a lot > quieter than the music and the explosions, so you raise the volume when an > actor starts talking, and the OSD immediately appears and covers up their > mouth or the subtitles! > > I'd recommend opening a new bug report asking for the OSD position to be > configurable. I won't close that one as RESOLVED INTENTIONAL. :) Okay, thank you. What component do OSDs belong to, is it plasmashell/notifications as well or something else?
The visualization lives in plasmashell, but the positioning is handled by KWin, not Plasma. So if we were to make this configurable somehow, KWin would have to be changed. The UI for it could live somewhere in Plasma or System Settings, of course. Just open it in plasmashell | general and we'll figure out what to do with it!
Thank you, created here: https://bugs.kde.org/show_bug.cgi?id=501654
(In reply to Nate Graham from comment #6) > (In reply to Konstantin Kharlamov from comment #5) > > They appear on the side of the screen, and having something you're > > working on at that position is much rarer event that having it in the center. > That's not a universal fact; it very much depends on how you use the system. > For example if you have two windows tiled side-by-side, it's very common to > be entering text at the bottom of the window, and this will be covered up by > notifications. For chat apps, it happens pretty much 100% of the time. You are right, but this implies OSDs should at least appear in the same position where notifications do. Otherwise you get two different things that may cover your text: notifications and OSDs, and due to them appearing in different places a user wouldn't be able to set up their workflow so that nothing would cover the text.
(In reply to Konstantin Kharlamov from comment #10) > (In reply to Nate Graham from comment #6) > > (In reply to Konstantin Kharlamov from comment #5) > > > They appear on the side of the screen, and having something you're > > > working on at that position is much rarer event that having it in the center. > > That's not a universal fact; it very much depends on how you use the system. > > For example if you have two windows tiled side-by-side, it's very common to > > be entering text at the bottom of the window, and this will be covered up by > > notifications. For chat apps, it happens pretty much 100% of the time. > > You are right, but this implies OSDs should at least appear in the same > position > where notifications do. Otherwise you get two different things that may cover > your text: notifications and OSDs, and due to them appearing in different > places > a user wouldn't be able to set up their workflow so that nothing would cover > the > text. @Nate, what do you think? This is really problematic, I am again typing a message to someone and I can't see what I'm typing. To make it worse in Telegram when you press Shit+enter the previous text move up (as opposed to caret moving down), so I never see what I'm typing, this is really a large problem. The separate issue I created is gonna take ages to implement. As explained in the quote, disregarding the "default positioning" (which may be subjective), the OSDs should be positioned by default where notifications are. This I could at least take a stub into implementing myself, hopefully it's not going to be that complicated.
I use multiple keyboard language layouts and I switch between them quite often to type text in LibreWolf. The fact that the OSD appears in the center of the screen never bothered me. Changing the screen brightness by scrolling over the widget or from the keyboard shortcut also shows the OSD in the center of the screen. Which is consistent. Plus, showing this at the right or left edge of the screen can be a problem to people with tunnel vision which have a narrower field where they can see stuff so it's better for them to see the OSD, at least in the middle of the screen. So, in my opinion, the default should stay the same. Though having an option to choose where to display the OSD and / or the notifications, would be nice, so everyone can find something that works for them.
@John I was writing a long comment, but removed it because I figured it doesn't really mater. I think you just misunderstood what I'm suggesting in comments. It is not about changing default position of OSDs, but about making them appear where notifications are. Well, this kind of will change default positioning, but it will be configurable and consistent with notifications. Those people with tunnel vision will surely benefit from it as everyone else because they'd get OSD to appear at place where they configured them to be.
…the difference with the already created bug "make OSD configurable" would be that the latter involves a lot of work that includes making the interface and plumbing through configuration variables, besides making use of it in kwin. For people without experience it is a large amount of work, so it's likely only ever gonna be done by core developers. But then I think core devs are likely working on something else. "make OSD obey notifications positions" I think might be easy enough to implement for an occasional contributor, because it would likely come down to just figuring out where OSD positioning and notification positioning in kwin code are, and then making sure the former uses rules for the latter.