Summary: | Notification starting position too high off panel | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | enoopt.adams |
Component: | Notifications | Assignee: | Martin Klapetek <mklapetek> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aacid, hrvoje.senjan, kde, nortexoid, ondra, patrick.auernig, tromzy |
Priority: | NOR | ||
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/plasma-workspace/a12bb76502952749c069b9ab70ac61ee1353079b | Version Fixed In: | 5.3.2 |
Sentry Crash Report: | |||
Attachments: |
Glitched starting position
Spawning multiple notifications in a row causes them to climb up the screen Can you guys try this and post the output please? Output 1 Output 2 Can you please try out this patch? Misplaced notification an example with a top panel |
Description
enoopt.adams
2015-01-08 00:27:29 UTC
Created attachment 90280 [details]
Glitched starting position
Created attachment 90281 [details]
Spawning multiple notifications in a row causes them to climb up the screen
Does it happen always? If you try restarting plasmashell or log out/in? Is it sill at the wrong position? And is it from the beginning? Or does it work at first? Restarting plasmashell temporarily fixes the problem, but the bug came back after I spawned a bunch of notifications. What happens is that the notifications will be in the correct position above the panel, but occasionally they will start to climb up the screen when more than one is spawned. I spawned enough so that they climbed up to about half the screen hight, (same place as in the second attached picture) then after closing all notifications, if another notification spawns, it's in the incorrect position as shown in the first attachment. The bug persists until plasmashell is restarted. I've tested this with 200 notifications coming from 6 terminals at once, still behaves properly. I really wonder what snaps in your case. The only thing I can think of is wrong screen size being passed to the applet. Is this on a real hardware or virtualbox? Can you also give me output of $ xrandr -q | grep " connected" Real hardware. Output is "eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 500mm x 281mm" Are you able to test patches? Sure a 'me too' comment, with a top panel Created attachment 90303 [details]
Can you guys try this and post the output please?
It just adds bunch of qdebugs, so apply, rebuild and restart plasmashell from konsole, then spawn couple notifications (for i in {1..10}; do notify-send hello$i; done --should do) and post the debug output please.
Created attachment 90307 [details]
Output 1
This output is when the bug was not occurring, I'll try and get the bug to occur and post another output. The bug doesn't always occur. Spawning tons of notifications without delay doesn't seem to cause it. If I spawn 10 notifications rapidly, then wait till they all despawn, then spawn ten more and repeat, it will occur seemingly randomly after the fourth notification is spawned on one of the series.
Created attachment 90308 [details]
Output 2
Problem was occurring here
That's what puzzles me, how can it be that random :S Thanks for the outputs, I'll have a look. Ok I finally know what's wrong. No idea how it happens yet but I know what's up. Hopefully fix will follow shorty \o/ Created attachment 90433 [details]
Can you please try out this patch?
This should fix it for good. Hopefully.
Seems to fix the problem. I haven't been able to reproduce the bug, but I couldn't reliably reproduce it before. I've spawned hundreds of notifications in the same random patterns as before and the bug doesn't show up. Git commit 20e4064f1ec582b9aacc8d6659efd57fe8c0df7e by Martin Klapetek. Committed on 16/01/2015 at 11:09. Pushed by mklapetek into branch 'Plasma/5.2'. [notifications] Fix notification popups sometimes being misplaced There were situations when the same notification popup could be be inserted twice into the available popups list, breaking the positioning as it would create more notifications than it was able to but they would never get closed and would offset the whole stack. One of such scenarios was when user manually closed the popup with the close button. After it was hidden, the hiding timer still went on to fire and close it again, causing the above. Should be all fixed now. M +4 -2 applets/notifications/package/contents/ui/NotificationPopup.qml M +5 -2 applets/notifications/plugin/notificationshelper.cpp http://commits.kde.org/plasma-workspace/20e4064f1ec582b9aacc8d6659efd57fe8c0df7e still it happens after the patch =( for quite some time it looked good, but after a while notifications again started to appear too low Can you give me the output with the patch from comment #10? i'll provide it if it comes back... (/me rebuilt master, but the fix was only in 5.2 branch so-far; and the recompile overwritten your locally applied patch - d'oh!) *** Bug 344291 has been marked as a duplicate of this bug. *** Created attachment 91422 [details]
Misplaced notification
I can confirm this bug too on Plasma 5.2.0 / 5.2.1. Can you provide a series of steps leading to that? Also, are you able to apply patches? Sorry, I don't know how to patch my system... But, it seems (I'm not sure though) that it is related to something else : today it started to happen after a notification did not close automatically ; I had to close it with the cross icon on the popup. After that, the misplaced notification bug started. Coincidence ? Or related ? But I see in one of your earlier posts that you already noticed that. Created attachment 92346 [details]
an example with a top panel
Comment on attachment 92346 [details]
an example with a top panel
Using Plasma 5.3 on Arch Linux x86_64, 4.0.1 kernel
Patrick - do you have a set of reproducible steps for that? (In reply to Martin Klapetek from comment #29) > Patrick - do you have a set of reproducible steps for that? Steps to reproduce: 1. Start plasmashell 2. Make a notification appear 3. Close the notification manually 4. Next time a notification appears it will be misplaced terminating and restarting plasmashell fixes that Git commit 83ec35b632ee495df4b3c6f33f7ca33bca398a8f by Martin Klapetek. Committed on 01/05/2015 at 12:51. Pushed by mklapetek into branch 'Plasma/5.3'. [notifications] Always check first if the dispatch timer isn't running already That should prevent various mis-queueings. If the timer is running, the queue will get processed once the timer times out. M +20 -5 applets/notifications/plugin/notificationshelper.cpp http://commits.kde.org/plasma-workspace/83ec35b632ee495df4b3c6f33f7ca33bca398a8f Git commit af3081abe2337c691cd2d310951ffd20f21da00d by Martin Klapetek. Committed on 01/05/2015 at 12:54. Pushed by mklapetek into branch 'Plasma/5.3'. [notifications] Clear notification from show queue if it's closed before it's shown It can happen that a notification is placed in the show queue and then it's closed (eg. programatically) before it was even shown. In this case the notification must be cleared from the show queue otherwise it will get displayed and hidden but the popup is never freed for reuse, resulting in notificaions starting at higher position from the panel. M +16 -0 applets/notifications/plugin/notificationshelper.cpp http://commits.kde.org/plasma-workspace/af3081abe2337c691cd2d310951ffd20f21da00d Ok, the fix should come with Plasma 5.3.1, please reopen if the problem still persists. Thank you. Git commit 08415c47d9c3c6a322b4fcd8403fc275b8f0ade2 by Martin Klapetek. Committed on 01/05/2015 at 12:57. Pushed by mklapetek into branch 'master'. [notifications] Always check first if the dispatch timer isn't running already That should prevent various mis-queueings. If the timer is running, the queue will get processed once the timer times out. M +20 -5 applets/notifications/plugin/notificationshelper.cpp http://commits.kde.org/plasma-workspace/08415c47d9c3c6a322b4fcd8403fc275b8f0ade2 Git commit e1388789ffc5239587f88ec29bc0fa83bbeadfa3 by Martin Klapetek. Committed on 01/05/2015 at 12:57. Pushed by mklapetek into branch 'master'. [notifications] Clear notification from show queue if it's closed before it's shown It can happen that a notification is placed in the show queue and then it's closed (eg. programatically) before it was even shown. In this case the notification must be cleared from the show queue otherwise it will get displayed and hidden but the popup is never freed for reuse, resulting in notificaions starting at higher position from the panel. M +16 -0 applets/notifications/plugin/notificationshelper.cpp http://commits.kde.org/plasma-workspace/e1388789ffc5239587f88ec29bc0fa83bbeadfa3 Still happening in version 5.3.1 on Arch Linux x86_64 As Martin confirmed recently on IRC, the issue is still happening after dismissing/closing job notifications Yes, unfortunately so. The reason being that the job notifications completely circumvent all the notification routines and display directly, so when you close it, the system responsible for the positioning the popups has no idea what you just closed because it does not know it even existed in the first place. Git commit a12bb76502952749c069b9ab70ac61ee1353079b by Martin Klapetek. Committed on 28/05/2015 at 15:33. Pushed by mklapetek into branch 'Plasma/5.3'. Reuse the existing Notify method for Notification's DataEngine createNotification call REVIEW: 123923 FIXED-IN: 5.3.2 M +13 -12 applets/notifications/package/contents/ui/Jobs.qml M +7 -0 applets/notifications/package/contents/ui/Notifications.qml M +3 -3 dataengines/notifications/notificationaction.cpp M +4 -1 dataengines/notifications/notifications.operations M +5 -13 dataengines/notifications/notificationsengine.cpp M +2 -1 dataengines/notifications/notificationsengine.h http://commits.kde.org/plasma-workspace/a12bb76502952749c069b9ab70ac61ee1353079b I'm on Plasma 5.4.3 and on two of my systems, this bug has just showed its ugly face. If I restart plasmashell it goes away for a bit but then comes back. Could it depend on the plasma theme because I'm not using Breeze, the default? Plasma 5.7.5 (on Arch), this bug still occurs. Is there anything I can try to get rid of it? Also it probably should be re-opened. |