On Friday November 07 2014 23:09:16 Andreas Pakulat wrote:

Hi again,

> Not necessarily, or at least not necessarily user input events in the same
> process/application. For example think about a user moving a window over

That's what I meant, they may not result from direct interaction with the 
application, but they do result from user input.

> I have no clue about libdbusmenu-qt or how it works. kdeui seems to link it
> in, so any KDE app will use it too. Plasma links against it as well, so I
> guess this really is for the menus in the systray or something like that.
> Yeah, all the dbusmenu library and protocol do is exporting menu
> information over dbus. How this is used then by another application also
> connected to dbus is a different story. I guess in your case its the
> systray app then, which makes sense since plasma uses the library
> explicitly as well - like to import the menu's of all systray-enabled
> applications.

> Sure there's a separate application managing the systray in a KDE session:
> Plasma (can't say which of the plasma processes exactly don't have an
> in-depth overview of the architecture there). Thats a separate process that
> gathers the icon and context menu and other things like notifications shown
> in the systray from the various applications. And as a separate process its
> not affected by eventloop filters in KMail and it has a way to tell kmail
> when an action in the context menu of KMail's systray entry has been
> clicked. That way is afaiu libdbusmenu-qt and its dbus communication and
> thats hitting you in that second backtrace.

Right. Now I'm pretty sure that the actual drawing (etc) of the systray menu 
happens in KMail, but apparently as a result of DBus messages. Seems awfully 
complicated, but also about the only way to make the thing optional and 
compatible with launch the application when there's nothing to leave the 
systray icon, or something that's not KDE (e.g. running KMail under a Gnome 
session).
If things really work that way they could perfectly well work the same way on 
OS X - at least if OS X had the Plasma applications :)

Still, if under Qt/X11 the Systray icon and menu are managed by plasma over the 
DBus, and KMail is thus coded to "work that way", how can the same code 
function without those incoming DBus messages that aren't being sent because 
there is no Plasma on OS X?

R.
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to