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 /libLumina | |
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 'libLumina')
-rw-r--r-- | libLumina/LuminaX11.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libLumina/LuminaX11.cpp b/libLumina/LuminaX11.cpp index 418e041f..68d54c6d 100644 --- a/libLumina/LuminaX11.cpp +++ b/libLumina/LuminaX11.cpp @@ -518,7 +518,7 @@ QPixmap LX11::WindowImage(WId win, bool useleader){ if(leader!=0 && useleader){ win = leader; } //use the leader window instead //First get the size of the window image (embedded in the window attributes) XWindowAttributes att; - if( !XGetWindowAttributes(disp, win, &att) ){ return pix; } //invalid window attributes + if( 0 == XGetWindowAttributes(disp, win, &att) ){ return pix; } //invalid window attributes //Now extract the image XImage *xim = XGetImage(disp, win, 0,0, att.width, att.height, AllPlanes, ZPixmap); if(xim!=0){ @@ -677,7 +677,7 @@ WId LX11::startSystemTray(int screen){ qWarning() << "An alternate system tray is currently in use"; return 0; } - //Create a simple window to register as the tray (not visible) + //Create a simple window to register as the tray (not visible - just off the screen) Window LuminaSessionTrayID = XCreateSimpleWindow(disp, root,-1,-1,1,1,0,0,0); //register this widget as the system tray XSetSelectionOwner(disp, _NET_SYSTEM_TRAY_S, LuminaSessionTrayID, CurrentTime); |