Bug 200329 - Context menus of the KStatusNotifierItem systray icons randomly appear behind the autohide panels on right click (positioning issue)
Summary: Context menus of the KStatusNotifierItem systray icons randomly appear behind...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-systemtray (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 227180 231121 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-07-15 16:56 UTC by Ekeluo Chukwuogor
Modified: 2011-12-04 00:24 UTC (History)
11 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot (22.82 KB, image/png)
2010-01-04 10:23 UTC, Weng Xuetian
Details
Patch only to make menu about the panel (758 bytes, patch)
2010-01-04 10:51 UTC, Weng Xuetian
Details
Problem still presen on openSES 11.2 with compiz 0.8.4 & KDE 4.4.1 (17.29 KB, image/png)
2010-03-09 09:45 UTC, Tamás Németh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ekeluo Chukwuogor 2009-07-15 16:56:54 UTC
Version:            (using KDE 4.2.96)
OS:                Linux
Installed from:    Ubuntu Packages

The right-click menu of some system tray entries appears BEHIND the panel (set at the top of the screen, right). Strigi (nepomuk) and Kmix are consistent in this. Kmix context menu is treated as a window - other windows slide back when I right click on the icon.
Comment 1 Beat Wolf 2009-07-15 23:23:36 UTC
I'm pretty sure this is not a actuall bug bug a technical limitation. kmix and others use the new systray protocol, the others not.

Can somebody confirm and close?
Comment 2 Ekeluo Chukwuogor 2009-07-15 23:46:32 UTC
Other icons in systray - klipper, fusion-icon, kde wallet manager & software updates and all display context menu properly i.e. in the foreground of the panel. Something IS wrong here.
Comment 3 Ekeluo Chukwuogor 2009-07-17 08:57:15 UTC
Didn't mention this before, but the panel with the system tray is set to auto-hide, at the top of the screen.
Comment 4 Ekeluo Chukwuogor 2009-09-07 10:35:00 UTC
This is still happening in 4.3.1, with the Knetwork manager, strigi, KMix and KDE wallet icons. The popup menus have no shadows and use the render animation for windows (unlike any other popup menus) and the menu can actually loose focus without dissappearing, i.e. show BEHIND the panel when I click elsewhere on the panel. All the other systray icons are fine (amarok, klipper, banshee, audacious, etc)
Comment 5 Ekeluo Chukwuogor 2009-10-11 20:08:18 UTC
This is still present in kde 4.3.2, Kubuntu Karmic Beta.
Comment 6 Weng Xuetian 2009-12-21 12:11:01 UTC
This only happen when compiz is used.

Archlinux
KDE SC 4.3.4
compiz 0.8.4
Comment 7 Ekeluo Chukwuogor 2009-12-25 22:12:47 UTC
This is still reproducible in kde SC 4.4 beta 2 on kubuntu, kmix systray icon.
Comment 8 Weng Xuetian 2009-12-26 02:34:52 UTC
KDE SC 4.4 beta 2
Archlinux (KDEmod)
It's the same.

It is possible that make the menu in front of the panel, I have patched it for many times by adding a window flag to menu. After that though the position is not correct (just like the other right click program klipper, not like in kwin), but it can be used then, with this patch a little problem is that the left click menu position is still making things annoy, It just cover the panel...

I think make the menu in front of the panel is important, the position problem can be solved after that.
Comment 9 Ekeluo Chukwuogor 2009-12-28 12:56:32 UTC
Not sure if related but the knetwork manager icon shows the menu at the top left of the screen, as far away as possible from where I clicked on it.
Comment 10 Kolia 2010-01-02 23:54:43 UTC
I can not reproduce this bug with KDE 4.4 SVN 1068732 | Qt 4.6.0 when right-clicking on the kmix icon in system tray. The menu displays correctly.

However, I've not tried with Nepomuk and KNetwork-manager, since i don't use them.
Comment 11 Weng Xuetian 2010-01-03 06:48:38 UTC
(In reply to comment #10)
> I can not reproduce this bug with KDE 4.4 SVN 1068732 | Qt 4.6.0 when
> right-clicking on the kmix icon in system tray. The menu displays correctly.
> 
> However, I've not tried with Nepomuk and KNetwork-manager, since i don't use
> them.

Do you use compiz? With kwin it works good.
Comment 12 Kolia 2010-01-04 00:27:21 UTC
Weng,

I indeed use KWin and not Compiz.

Ekeluo do you also use Compiz?
Comment 13 Aaron J. Seigo 2010-01-04 06:40:31 UTC
if you have a patch, attach it.
if you are seeing a visual issue, take a screenshot and attach it.

describing things (esp patches) that could be simply uploaded for us all to look at is not particularly helpful. 

thanks.
Comment 14 Weng Xuetian 2010-01-04 10:23:43 UTC
Created attachment 39543 [details]
Screenshot

Case with compiz
Comment 15 Weng Xuetian 2010-01-04 10:51:03 UTC
Created attachment 39544 [details]
Patch only to make menu about the panel

Patch for KDE 4.3.4 kdelibs-experimental.

It's only a wordaround for this bug, because the position is not correct though, I think maybe kwin do some position movement to some window with special flags while compiz not, because I didn't see any thing different in position calculation in libknotification.
Comment 16 Ekeluo Chukwuogor 2010-01-05 08:25:55 UTC
Sorry for the delay; I don't use compiz, use kwin only. I don't know if it matters but the panel with the system tray is centered (but not maximized) on the right side of the screen and is set to auto hide. Hope this helps.
Comment 17 Weng Xuetian 2010-01-05 09:36:49 UTC
Ekeluo you're right, the case you mentioned is reproducable here. Always happened when use auto hide, seems not related to the size.
Comment 18 Kolia 2010-01-13 23:15:01 UTC
I still can not reproduce it, following the last steps given by Ekeluo with KDE Development Platform: 4.4.59
Comment 19 Christoph Feck 2010-01-13 23:26:55 UTC
I could just reproduce it, daily trunk, using the Konversation systray menu (which is a new KSNI). Panel is set to autohide, of course.
Comment 20 Dario Andres 2010-01-13 23:43:20 UTC
Here using:

Qt: 4.6.0 (kde-qt master commit 747ff8e6ef6f5a1163dfa75bc9ac4755ce7083d1
        Date:   Tue Dec 15 11:58:13 2009 +0100)
KDE Development Platform: 4.4.59 (KDE 4.4.59 (KDE 4.5 >= 20100107))
kdelibs svn rev. 1074072 / kdebase svn rev. 1074076
on ArchLinux i686 - Kernel 2.6.32.3

I could reproduce the bug

- What do you need to reproduce the bug:
* A KMix icon (which is using the new systemtray protocol)
* An autohide panel (I have it on the top edge)
(desktop compositing is not really needed according to my tests)

Steps to reproduce the bug:
---
- Have a KMix icon in the systemtray
- Configure the panel to be autohide
- Let's the panel autohide itself
- Mouse over the panel so it appears
- Right click the KMix icon on several positions
The popup menu appears behind or at-the-top of the panel, randomly.

Interesting details:
---

* When the panel is "always visible", the contextmenu of the (new KStatusNotifierItem protocol) system-tray icons appears near the panel (touching the panel's border; and not in the mouse cursor position).

* If the panel is set to autohide, the contextmenu will appear exactly on the mouse cursor position (as all the other FDO tray icons do, regardless of the panel visibility)

I wonder if that could be the clue to determine this issue

* I managed to reproduce this bug with the KMix(4 menu-actions) and Konversation(GIT version)(5 menu-actions) icons. Interestingly enough, the Strigi icon which has a *smaller menu* (only 2 menu-actions) doesn't show this bug.
- Could the context menu length/height related to this problem ?
(Note that all this icons use the new KStatusNotifierItem)

---

Screencast of the bug (desktop compositing enabled): http://www.youtube.com/watch?v=Jom3yeoRF9U
Comment 21 roman grebennikov 2010-02-22 11:20:54 UTC
Have the same problem on kde 4.4.0 (qt 4.6.2), compiz 0.8.4 on gentoo with vanilla kernel 2.6.32.8

The knetworkmanager tray menu is shown behind the panel.
Comment 22 Tamás Németh 2010-03-09 09:41:19 UTC
*** Bug 227180 has been marked as a duplicate of this bug. ***
Comment 23 Tamás Németh 2010-03-09 09:45:21 UTC
Created attachment 41469 [details]
Problem still presen on openSES 11.2 with compiz 0.8.4 & KDE 4.4.1
Comment 24 Orion Poplawski 2010-03-17 17:21:34 UTC
*** Bug 231121 has been marked as a duplicate of this bug. ***
Comment 25 Tamás Németh 2010-03-24 10:31:06 UTC
One more additional info to help at solving the problem:

Up to until KDE 4.3 it was possible to circumvent this problem by switching the panel to "windows can cover" and back to "always visible", but since KDE 4.4 this workaround doesn't help anymore.
Comment 26 Marco Martin 2010-05-11 20:17:56 UTC
this is fixed by the migration to dbus-menu
Comment 27 Christoph Feck 2010-05-22 12:04:15 UTC
When I left-click the klipper icon in systray, the menu still randomly appears below or above the visible autohide panel. Today's trunk.
Comment 28 Marco Martin 2010-05-27 14:34:15 UTC
SVN commit 1131133 by mart:

if a window id is not set, show the menu instead of the main widget
BUG:238606
BUG:200329


 M  +7 -0      dbussystemtraytask.cpp  
 M  +17 -0     dbussystemtraywidget.cpp  
 M  +4 -0      dbussystemtraywidget.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1131133
Comment 29 Tamás Németh 2010-09-24 12:19:57 UTC
In fact there is still no progress in KDE 4.5.1. When using compiz, KDE systray still behaves the like described in the bugreport. Maybe it should be reopened.
Comment 30 Christoph Feck 2010-10-06 03:57:19 UTC
Since Klipper now longer uses the D-Bus menus, this bug happens again.
Comment 31 Mats Ahlgren 2011-04-20 16:12:19 UTC
I've actually noticed this bug earlier than when it was reported... maybe 3 years ago.

I also use compiz, though as some people have mentioned it also occurs on kwin for them.

This happens with knetworkmanager and kbluetooth for me, reproduced with kde4.4.5 (ubuntu lucid) and, if it matters, compiz0.8.4.
Comment 32 Aaron J. Seigo 2011-12-04 00:24:42 UTC
i only see this happening with old style xembed icons now, and there is absolutely zero we can do about that as plasma does not control those menus.