~compiz-team/compiz-core/compiz-core.fix_863328

  • Committer: Sam Spilsbury
  • Date: 2011-09-25 03:36:05 UTC
  • Revision ID: git-v1:fef4170fad559a877b8a8593a0db9d8af8930387
Track ConfigureWindow requests and match them to ConfigureNotify events.

By doing this we are able to see what the pending requests are on a window
at any given time, and can transform new requests to suit these pending
ones. Currently, this only works for windows that we reparent and are
not override redirect since those are the only windows where we can guaruntee
that all ConfigureNotify events will be generated by us.

This isn't exposed to plugins at the moment, but it may be useful later on.

Incidentally, this allows us to fix a stacking corner case which was the
following situation:

Windows A, B and C map (placed on top), and must stack relative to each other

Window A gets stacked beneath D (which is a panel),
Window B should be stacked above A,
Window C should be stacked above B,

What happened was that updateAttributes would be called and
request to put window B above A, which it was already above in
CompScreen::windows, so that stacking request becomes a no-op. In this case
we check if the window is pending a restack and then request to put it
above the same window it was already a sibling to if findSiblingBelow found
that to be the case.

This fixes problems with, eg GIMP and Libreoffice, which make heavy use
of transient windows when mapping their windows and may also restack
their own windows when there is no window manager running
Filename Latest Rev Last Changed Committer Comment Size
..
cmake 2092 15 years ago Dennis kasprzyk Initial version of CMake build system. Diff
gtk 375 17 years ago David Reveman Rename gnome directory to gtk. Diff
images 1 18 years ago David Reveman Initial revision Diff
include 1 18 years ago David Reveman Initial revision Diff
kde 1 18 years ago David Reveman Initial revision Diff
legacy 2278 15 years ago Dennis kasprzyk Moved all not yet ported files into legacy directo Diff
libdecoration 627 17 years ago David Reveman Add libdecoration and move some initial code from Diff
metadata 1101 17 years ago Mike Dransfield Merge branch 'master' of git://git.freedesktop.org Diff
plugins 1 18 years ago David Reveman Initial revision Diff
po 180 18 years ago Dan Winship require intltool for option-description translatio Diff
src 1 18 years ago David Reveman Initial revision Diff
tests 2756 12 years ago Sam Spilsbury Merge in lp:~smpillaz/compiz-core/compiz-core.fix_ Diff
xslt 2276 15 years ago Dennis kasprzyk New generalized build system. Diff
.gitignore 2117 15 years ago Dennis kasprzyk Cleanup .gitignore 14 bytes Diff Download File
AUTHORS 2788.1.1 12 years ago Sam Spilsbury Update NEWS for 0.9.5.92 3.8 KB Diff Download File
ChangeLog 2793.1.1 12 years ago Sam Spilsbury Update NEWS for 0.9.5.92.1 525 KB Diff Download File
CMakeLists.txt 2760 12 years ago Sam Spilsbury Merge in lp:~smspillaz/compiz-core/compiz-core.dis 3.8 KB Diff Download File
compiz.pc.in 2096 15 years ago Dennis kasprzyk Generate compiz.pc 237 bytes Diff Download File
config.h.core.in 2412.1.15 14 years ago Erkin Bahceci Properly expand variables. 132 bytes Diff Download File
COPYING 817 17 years ago David Reveman Update the text in COPYING file. The old text coul 274 bytes Diff Download File
COPYING.GPL 1 18 years ago David Reveman Initial revision 17.5 KB Diff Download File
COPYING.LGPL 817 17 years ago David Reveman Update the text in COPYING file. The old text coul 25.9 KB Diff Download File
COPYING.MIT 1 18 years ago David Reveman Initial revision 1 KB Diff Download File
Doxyfile 2400.1.10 14 years ago Kristopher Ives Excluded *Wrap* from Doxygen. Fixed some old comme 61.9 KB Diff Download File
INSTALL 2634 13 years ago Jason Smith Update INSTALL file 433 bytes Diff Download File
NEWS 2806.2.6 12 years ago Sam Spilsbury Restore NEWS file 16.1 KB Diff Download File
README 1 18 years ago David Reveman Initial revision 311 bytes Diff Download File
RELEASING 1301 16 years ago David Reveman Add release documentation and makefile rules that 2.6 KB Diff Download File
TODO 1 18 years ago David Reveman Initial revision 292 bytes Diff Download File
VERSION 2792 12 years ago Sam Spilsbury Bump VERSION to reflect temporary release 11 bytes Diff Download File