diff options
author | Ken Moore <ken@pcbsd.org> | 2014-10-17 08:41:49 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2014-10-17 08:41:49 -0400 |
commit | 0394411a5c589b3c19fd3ecd2a6b4836f1a74a88 (patch) | |
tree | 8990178419840553011e2bf38fa079c5f50fc538 /lumina-desktop/panel-plugins/systemtray/LSysTray.h | |
parent | Add a quick "make-linux-distro.sh" script to change the linux template file u... (diff) | |
download | lumina-0394411a5c589b3c19fd3ecd2a6b4836f1a74a88.tar.gz lumina-0394411a5c589b3c19fd3ecd2a6b4836f1a74a88.tar.bz2 lumina-0394411a5c589b3c19fd3ecd2a6b4836f1a74a88.zip |
Adjust how the backend for the system tray works:
1) Now the Lumina session registeres the system-wide tray, and just keeps track of the windows that should be visible (preventing any loss of service or apps starting up before the tray is registered).
2) The system tray plugin is now just a "visual tray" for embedding the applications in the panel. The Session only allows a single visual tray to be registered at a time, but sends out signals whenever there is an opening for a visual tray (allowing near-instant transfer of tray applications from one visual tray to another).
Also fix a quick bug in lumina-config where the save button was getting activated simply by changing the appearance/plugins tab in the panel configuration (without actually changing anything).
Diffstat (limited to 'lumina-desktop/panel-plugins/systemtray/LSysTray.h')
-rw-r--r-- | lumina-desktop/panel-plugins/systemtray/LSysTray.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lumina-desktop/panel-plugins/systemtray/LSysTray.h b/lumina-desktop/panel-plugins/systemtray/LSysTray.h index 13eb0df1..7f8386fc 100644 --- a/lumina-desktop/panel-plugins/systemtray/LSysTray.h +++ b/lumina-desktop/panel-plugins/systemtray/LSysTray.h @@ -30,30 +30,31 @@ public: LSysTray(QWidget *parent = 0, QString id="systemtray", bool horizontal=true); ~LSysTray(); - void start(); - void stop(); - private: - bool isRunning; + bool isRunning, stopping; QList<TrayIcon*> trayIcons; QFrame *frame; QBoxLayout *LI; //layout items - WId TrayID; + //WId TrayID; QTimer *upTimer; //manual timer to force refresh of all items private slots: - void checkXEvent(XEvent *event); - void closeAll(); + //void checkXEvent(XEvent *event); + //void closeAll(); void checkAll(); + void UpdateTrayWindow(WId win); - void initialTrayIconDetect(); //initial scan for previously running tray apps - void addTrayIcon(WId win); - void removeTrayIcon(WId win); + //void initialTrayIconDetect(); //initial scan for previously running tray apps + //void addTrayIcon(WId win); + //void removeTrayIcon(WId win); - void updateStatus(); - void trayAppClosed(); + /*void updateStatus(); + void trayAppClosed();*/ public slots: + void start(); + void stop(); + virtual void OrientationChange(){ //make sure the internal layout has the same orientation as the main widget LI->setDirection( this->layout()->direction() ); |