diff options
author | Ken Moore <moorekou@gmail.com> | 2015-10-30 16:25:56 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2015-10-30 16:25:56 -0400 |
commit | 7846ab98e9df6e171255543591e0f12c49b9391d (patch) | |
tree | 8039817b94e7f24e7e5484bba8b3beb2cc066284 /lumina-desktop/panel-plugins/systemtray/TrayIcon.h | |
parent | Make sure that lumina-open always watches files that are *not* in the XDG aut... (diff) | |
download | lumina-7846ab98e9df6e171255543591e0f12c49b9391d.tar.gz lumina-7846ab98e9df6e171255543591e0f12c49b9391d.tar.bz2 lumina-7846ab98e9df6e171255543591e0f12c49b9391d.zip |
Cleanup how auto-start apps are launched a bit (start them via a single lumina-open call now, instead of a bunch of individual ones). Also fix up the tray app detection/failover methods a bit to catch/discard tray icons which were registered/destroyed almost simultaneously (or no destroy event was ever caught for the icon). This prevents the situation where a "blank" tray icon may be trying to repaint itself repeatedly (eating up CPU cycles).
NOTE: It seems like these "blank" tray apps are all GTK based, so it might be something in that toolkit which needs fixing to prevent registering a tray window which will never be used (or is instantly destroyed).
Diffstat (limited to 'lumina-desktop/panel-plugins/systemtray/TrayIcon.h')
-rw-r--r-- | lumina-desktop/panel-plugins/systemtray/TrayIcon.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lumina-desktop/panel-plugins/systemtray/TrayIcon.h b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h index fef3b578..5d072cc1 100644 --- a/lumina-desktop/panel-plugins/systemtray/TrayIcon.h +++ b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h @@ -30,6 +30,8 @@ public: TrayIcon(QWidget* parent = 0); ~TrayIcon(); + void cleanup(); //about to be removed after window was detroyed + WId appID(); //the ID for the attached application void attachApp(WId id); void setSizeSquare(int side); @@ -40,12 +42,14 @@ public slots: private: WId IID, AID; //icon ID and app ID - //QWindow *WIN; + int badpaints; uint dmgID; protected: void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent *event); +signals: + void BadIcon(); }; #endif
\ No newline at end of file |