diff options
author | Ken Moore <ken@pcbsd.org> | 2015-04-20 10:47:57 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2015-04-20 10:47:57 -0400 |
commit | 570272ccbe285afcad3f5b4ab00a18475ef163ed (patch) | |
tree | 09c4ac5e4440d61453d62de843afc19f5af312d4 /lumina-desktop/panel-plugins/systemtray | |
parent | Merge pull request #91 from Nanolx/lumina-panel-date (diff) | |
download | lumina-570272ccbe285afcad3f5b4ab00a18475ef163ed.tar.gz lumina-570272ccbe285afcad3f5b4ab00a18475ef163ed.tar.bz2 lumina-570272ccbe285afcad3f5b4ab00a18475ef163ed.zip |
Remove the last libX11 usage in the sytem tray protocols. Move the damage ID creation to XCB, and place it within the embedding routine in LuminaX11 instead.
Diffstat (limited to 'lumina-desktop/panel-plugins/systemtray')
-rw-r--r-- | lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp | 15 | ||||
-rw-r--r-- | lumina-desktop/panel-plugins/systemtray/TrayIcon.h | 14 |
2 files changed, 9 insertions, 20 deletions
diff --git a/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp b/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp index 8d0cacb3..a35db4d7 100644 --- a/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp +++ b/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp @@ -8,19 +8,20 @@ //#include <X11/Xlib.h> //#include <X11/Xutil.h> -#include <X11/extensions/Xdamage.h> +//#include <X11/extensions/Xdamage.h> //#include <xcb/damage.h> //static xcb_damage_damage_t dmgID; #include <LSession.h> #include <QScreen> - -static int dmgID = 0; +#include <LuminaX11.h> +//static int dmgID = 0; TrayIcon::TrayIcon(QWidget *parent) : QWidget(parent){ AID = 0; //nothing yet IID = 0; + dmgID = 0; } TrayIcon::~TrayIcon(){ @@ -38,12 +39,10 @@ void TrayIcon::attachApp(WId id){ else if(AID!=0){ qWarning() << "Tray Icon is already attached to a window!"; return; } AID = id; IID = this->winId(); //embed directly into this widget - //IID = LX11::CreateWindow( this->winId(), this->rect() ); //Create an intermediate window to be the parent - if( LSession::handle()->XCB->EmbedWindow(AID, IID) ){ + dmgID = LSession::handle()->XCB->EmbedWindow(AID, IID); + if( dmgID != 0 ){ LX11::RestoreWindow(AID); //make it visible - //XSelectInput(QX11Info::display(), AID, StructureNotifyMask); - //xcb_damage_create(QX11Info::connection(), dmgID, AID, XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES); - dmgID = XDamageCreate( QX11Info::display(), AID, XDamageReportRawRectangles ); + //dmgID = XDamageCreate( QX11Info::display(), AID, XDamageReportRawRectangles ); qDebug() << "New System Tray App:" << AID; QTimer::singleShot(1000, this, SLOT(updateIcon()) ); }else{ diff --git a/lumina-desktop/panel-plugins/systemtray/TrayIcon.h b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h index a3cbac31..18c51a66 100644 --- a/lumina-desktop/panel-plugins/systemtray/TrayIcon.h +++ b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h @@ -22,9 +22,7 @@ #include <QImage> // libLumina includes -#include <LuminaX11.h> - -//Local includes +//#include <LuminaX11.h> class TrayIcon : public QWidget{ Q_OBJECT @@ -42,19 +40,11 @@ public slots: private: WId IID, AID; //icon ID and app ID - -//private slots: - //void slotAttach(); //so that the attachment can be done in a new thread - + uint dmgID; protected: void paintEvent(QPaintEvent *event); - //void moveEvent(QMoveEvent *event); void resizeEvent(QResizeEvent *event); - //bool x11Event(XEvent *event); -//signals: - //void AppClosed(); - //void AppAttached(); }; #endif
\ No newline at end of file |