summaryrefslogtreecommitdiff
path: root/src/privatewindow.h
AgeCommit message (Collapse)AuthorFilesLines
2011-08-19Fix some other places we were using priv->attrib incorrectlySam Spilsbury1-4/+8
2011-08-19Added comment explaining why we can't do thatSam Spilsbury1-0/+7
2011-05-04Restack docks primarily when the focus changes to support cases where weSam Spilsbury1-0/+5
change viewports and dock windows need to be restacked even though the window that we switched to wasn't restacked. Also support always-on-top and fullscreen windows.
2011-04-30Track windows on CreateNotify again, don't rely on trying to beat the raceSam Spilsbury1-12/+9
condition by putting that on MapRequest, instead check at reparent time if the window has already been reparented server-side and don't reparent it again.
2011-03-23Don't treat synthetic UnmapNotify the same as the real UnmapNotifySam Spilsbury1-0/+2
ICCCM section 4.1.4 says that applications need to send us a synthetic UnmapNotify to tell us that the window has been withdrawn in all cases to cover the case where a window is already unmapped and then withdrawn. In this case we should handle the UnmapNotify as a request to withdraw the window, but we should only handle the *real* UnmapNotify request as a request to actually process the window being unmapped and withdraw it there, rather than processing both twice and withdrawing the window twice
2011-02-01Allow semantic difference between frame window geometry and frame size.Sam Spilsbury1-0/+1
Rationale: some window decorators or themes might want to specify a border input area that is slightly larger than the visible borders on screen (eg for enhanced resize handles, a11y purposes, etc) or the theme might want to specify some additional decoration which should affect placement but should not be interacted with. In this case we have a priv->border and priv->input window property. priv->border specifies the actual semantic size of the window decoration that should affect placement and priv->input specifies the extents of the frame window past the client. Fixes LP: #710271
2011-01-27Don't track window geometries or properties until they are actually managed.Sam Spilsbury1-2/+2
The window might get some ConfigureRequests which won't be reflected in PrivateWindow at MapRequest time. Fixes LP #707853
2011-01-24Don't make if-statement depend on XWindowAttributes which might be garbage.Sam Spilsbury1-1/+1
The window could have been destroyed by the time we do XGetWindowAttributes on it, so we need to check if that's the case. We still add it to the tree anyways - but only because in between the time when we handle the DestroyNotify for it and the CreateNotify, some windows might have done a ConfigureRequest asking us to stack windows relative to it
2011-01-19Revert "Don't stack mapping windows which requested no focus above the ↵Sam Spilsbury1-1/+0
active window." This reverts commit ecc61dc04567947e92cbb9686c1041619abc05b1.
2011-01-13Don't create CompWindow and initialize plugins until MapRequest.Sam Spilsbury1-1/+21
Having all plugins track windows on CreateNotify doesn't make any sense because they are not visible, and the ones that they would need to track would be override-redirect anyways. Also tracking windows in this way broke reparenting in such a way that a number of buggy applications using xembed (eg gnome-panel applets and Adobe Flash would consistently crash).
2011-01-12Don't stack mapping windows which requested no focus above the active window.Sam Spilsbury1-0/+1
This adds a managing variable to PrivateWindow which represents the managing state of the window. In addition, ::updateAttributes did not stack windows below correctly if they were already directly on top of an active window (since it is not valid to stack a window below itself, and the algorithm would pass the below to the findValidStackSiblingBelow function as well as a pointer to the active window (== below)). The function now compares the below sibling to the window we want to be stacked.
2011-01-08Fix grabs activating when we don't need them to, fixing some applicationsSam Spilsbury1-0/+2
receiving wrong events
2010-12-07Revert gravity adjustment made at MapRequest time at UnmapNotify timeSam Spilsbury1-1/+2
Forward port a0be58f5e9f5e419af4f5f15505e9a9f6fe47bdd to master
2010-12-03Fix some focus issues:Sam Spilsbury1-0/+1
- Don't give soon-to-be-unmanaged windows focus when closing a window - Transfer focus to another window if a window that is about to get focus is closed Forward port 5a78a90a3ec9de02b8e52790fbc376a2502cead7 to master. Fixes gnome-do issue
2010-08-10Fix typoSam Spilsbury1-0/+4
2010-02-04place: Improve resolution change handling.Sam Spilsbury1-2/+0
Windows are now moved/resized in a better way when changing resolution. Also, old window position and size will be remembered, so that they can be restored when going back to the original resolution. API changes were necessary in core, the functions ::updateStruts and ::updateWorkarea were moved from Private* to Comp* Forward port of 4327a7c83dc6c1fe77891ba7c6bf5023d21dfde8
2009-08-14Remove unused member variable.Erkin Bahceci1-1/+0
2009-07-08Move hide/show to PrivateWindow, add wrapper hide/show.Erkin Bahceci1-0/+4
The new hide/show are used by switcher, so that it doesn't call minimize/unminimize.
2009-04-30Restack window list immediately when calling reconfigureXWindowJoel Bosveld1-2/+5
Previously, trying to restack multiple windows wouldn't work as expected, as the window list wasn't restacked until the configureNotify was recieved, which lead to it stacking the window above the wrong window
2009-03-16Whitespace fixes.Danny Baumann1-1/+1
2009-03-16Expose setDesktop function.Danny Baumann1-2/+0
2009-03-11Added iconGeometry getter and convert priv->iconGeometry to CompRectSam Spilsbury1-2/+1
2009-02-26Store XWMHints structure and use it to fall back to legacy icon reading.Danny Baumann1-1/+3
2009-02-26Coding style, optimizations.Danny Baumann1-4/+3
2009-02-26Added support for _NET_WM_FULLSCREEN_MONITORS property.Danny Baumann1-1/+6
2008-10-14Made CompScreen derive from CompSize.Dennis Kasprzyk1-2/+2
2008-10-09Added missing license headers.Dennis Kasprzyk1-0/+27
2008-10-09Cleanup private headers.Dennis Kasprzyk1-120/+84
2008-09-25Use CompRegion in core.Dennis Kasprzyk1-2/+2
2008-09-17Move core headers into core subdirectory.Dennis Kasprzyk1-1/+1
2008-09-17Optimize rect,point and size classes and move headers to core/*Dennis Kasprzyk1-1/+1
2008-09-17Cleanup CompWindow public API and move header to core/window.hDennis Kasprzyk1-5/+69
2008-09-17Cleanup CompScreen public API and move header to core/screen.hDennis Kasprzyk1-0/+1
2008-09-15Merge CompCore and CompDisplay into CompScreen class.Dennis Kasprzyk1-1/+2
2008-09-15Remove getter for w->attrib and use member getters instead.Danny Baumann1-1/+2
2008-09-10C++ port of the resize plugin.Dennis Kasprzyk1-6/+0
2008-09-02Reparent window instead of simple input frame window.Dennis Kasprzyk1-0/+4
2008-09-01Provide a system to set the frame window region.Dennis Kasprzyk1-2/+2
2008-08-27Moved composite handling and opengl painting into separate plugins.Dennis Kasprzyk1-34/+9
2008-08-21Shut up compiler warnings.Dennis Kasprzyk1-2/+2
2008-08-21Cleanup compiz[-core].hDennis Kasprzyk1-3/+3
2008-08-20Renamed WindowPaintAttrib to CompWindowPaintAttrib.Dennis Kasprzyk1-2/+2
2008-08-12CompIcon class and CompTexture cleanup.Dennis Kasprzyk1-2/+2
2008-08-12Implemented CompTexture as real class.Dennis Kasprzyk1-3/+4
2008-08-11Implement Timeouts as CompCore::Timer class.Dennis Kasprzyk1-1/+1
2008-08-11Rename CompMatrix to CompTextureMatrix.Dennis Kasprzyk1-1/+1
2008-08-06More CompPoint usage.Dennis Kasprzyk1-2/+2
2008-08-06Use CompPoint/CompSize in CompScreen.Dennis Kasprzyk1-2/+2
2008-08-06Use CompWindow::Geometry.Dennis Kasprzyk1-16/+4
2008-08-06Conversion ob main classes to C++.Dennis Kasprzyk1-0/+269