summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-07-07Merge in lp:~unity-team/compiz-core/compiz-core.fix_706918 and hookSam Spilsbury6-90/+247
PluginClassHandler tests into make test
2011-07-07Merge in lp:~unity-team/compiz-core/compiz-core.fix_722830Sam Spilsbury1-4/+4
2011-07-06Add missing filesSam Spilsbury3-0/+236
2011-07-06Split tests up into files, poke timer.cpp, make test-timer link to the testsSam Spilsbury1-3/+8
and enable CTest
2011-07-06Add missing fileSam Spilsbury1-0/+48
2011-07-05Break the dependency between CompTimeoutSource and CompTimerSam Spilsbury1-12/+30
2011-07-05Use a private implementation for CompTimerSam Spilsbury2-32/+44
2011-07-05Further break the dependency of timers on screenSam Spilsbury7-88/+190
2011-07-04Break CompTimer's dependency on CompScreenSam Spilsbury6-59/+154
2011-07-04Avoid useless calls to ::stop (). Also put ::get_time after ::attachSam Spilsbury1-4/+3
because the source must always be attached before the monotonic time can be retreived
2011-07-04Don't use clock_getttime () directly, as there are some cases whereSam Spilsbury2-21/+22
that clock can run backwards and cause our timers to mess up. GLib handles this case for us, use Glib::Source::get_time in that case
2011-06-25Added PluginClassHandler testSam Spilsbury2-55/+1
2011-06-25Abstract out CompPrivate storage from CompScreen so we can make it testableSam Spilsbury3-35/+11
2011-06-24Use priv->border instead of priv->input as the EWMH says that applicationsSam Spilsbury1-4/+4
which request to move their windows (through a normal ConfigureRequest) should take into account the decoration extents and not the border extents. Fixes LP#722830
2011-06-23Fix warningsSam Spilsbury1-6/+0
2011-06-23Fix typo which caused docks to be stacked relative to override redirect windowsSam Spilsbury1-4/+12
and unmapped windows or other docks when shuffling stacking to be below fullscreen windows that are active
2011-06-18Fix typo which caused decorations to be updated recursively becauseSam Spilsbury1-2/+2
CompWindow::resize () would always send fake resize notify events to core which would then cause CompWindow::resize () to be called again with no geometry change etc etc
2011-06-16Fix typo which caused decorations to be updated recursively becauseSam Spilsbury1-2/+2
CompWindow::resize () would always send fake resize notify events to core which would then cause CompWindow::resize () to be called again with no geometry change etc etc
2011-06-09Fixes LP#795065Sam Spilsbury1-0/+9
------------- This line and the following will be ignored -------------- modified: src/window.cpp unknown: build/ po/compiz.pot pending merges: Sam Spilsbury 2011-05-25 Fix events going to frame windows when they sho...
2011-06-09Fixes LP#761616Sam Spilsbury2-6/+14
------------ This line and the following will be ignored -------------- modified: src/screen.cpp src/window.cpp unknown: build/ po/compiz.pot pending merges: Sam Spilsbury 2011-05-25 Restore selected event masks already rather tha...
2011-06-09Merge in dock stacking fixSam Spilsbury3-32/+104
2011-06-09Merge in emacs fixSam Spilsbury1-6/+37
2011-06-03Redetect devices unconditionally when handling ConfigureNotify event. This ↵Scott Moreau1-1/+1
fixes the case where an output was moved but outputChangeNotify is not called.
2011-05-30Fix windows appearing at small sizesSam Spilsbury1-6/+12
2011-05-28Fix typo in commentSam Spilsbury1-1/+1
2011-05-28TypoSam Spilsbury1-1/+1
2011-05-28Read the current override redirect state as the client may haveSam Spilsbury3-49/+32
changed it while CreateNotify is being processed and thus we could be reparenting and override redirect window. Also ensure that when unreparenting windows that their parent is still the wrapper window, otherwise don't bother to reparent them back into the root window, this will only cause trouble. Fixes LP#767095
2011-05-26 XSync right after configureXWindow in cases where weSam Spilsbury1-23/+72
need to immediately reorder the window stack. This isn't a real fix, but at least fixes the following situation without breaking the API and ABI Windows stacked A, B, C Plugin does: C->raise (), B->raise (), A->raise () Window list should read at this point: ... C, B, A ... (screen->windows ()) However, the output buffer hasn't been flushed at this point so server side we will have A, B, C. Now if a sneaky client tries to restack A above C, we will get the ConfigureRequest for that, and instead of getting B, C, A like the client expects, we'll actually get C, B, A. The real solution is to have a list of windows last sent to the server and a list of windows last recieved by it. That way plugins can mess with the internal stack all they want, but when recieving events for X as to the actual state of things, they can restack relative to the server list.
2011-05-25Fix events going to frame windows when they shouldn'tSam Spilsbury1-0/+9
since the client is already unmapped and there is no reason a huge frame window should block input when the client is animating out anyways
2011-05-25Restore selected event masks already rather than using hardcoded onesSam Spilsbury2-10/+18
Fixes LP #761616 where edge buttons wouldn't work because we'd select for button events and then they wouldn't get restored at all
2011-05-20Merge git://git.compiz.org/compiz/coreSam Spilsbury1-0/+2
2011-05-07Respect CMAKE_PREFIX_PATH and CMAKE_INCLUDE_PATH when searching for headers.Scott Moreau1-0/+2
2011-05-04Fix warningSam Spilsbury1-2/+1
2011-05-04Restack docks primarily when the focus changes to support cases where weSam Spilsbury3-30/+103
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-05-03Send a fake configure notify event when the window size doesn't changeSam Spilsbury1-6/+37
on frame update since other plugins need to know when the client window changed geometry.
2011-04-30 Check if ancestor to transient is allowed to have focus before granting focusSam Spilsbury1-0/+1
to it. Some stupid apps like thunderbird unmap the transient parent before unmapping the child, so compiz will get all confused and try to give focus to the unmapped window
2011-04-30Track windows on CreateNotify again, don't rely on trying to beat the raceSam Spilsbury4-99/+66
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-04-30Set correct DISPLAY env when launching commands. Do not force :0Sam Spilsbury1-5/+8
2011-04-30Also take into account server border geometry when positioningSam Spilsbury1-1/+1
2011-04-30Always take into account border geometry when calculating actual window sizeSam Spilsbury2-34/+37
since we make an XGetGeometry call and take into account the border when comparing sizes there. Fixes resize bugs with xterm
2011-04-30Release implicit grabs as soon as we handle events.Sam Spilsbury1-1/+17
Implicit keyboard grabs which are created by the pressing and holding of a key that was passively grabbed by XGrabKey are evil for a number of reasons.First of all, there isn't any way to track them or to track which window they are grabbed on so if a plugin makes an active grab and then releases it, the passive grab is released on release, which means there is an inconsistency between holding the key and having the grab. Secondly, if plugins actually need a grab on all keys, they are better switching to an active grab rather than relying on the passive one. Finally, if there is a passive grab by another application by a key-modifier combo which has the same modifier mask as the currently activated passive grab, then it means that this application won't get its grab activated as long as the modifier is held down.
2011-03-23Don't treat synthetic UnmapNotify the same as the real UnmapNotifySam Spilsbury3-14/+37
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-03-22Revert "If an unexpected window gets focus (e.g. by a client calling ↵Sam Spilsbury2-8/+9
XSetInputFocus directly), make sure that moving the input focus to a default window still works when that window is closed." This reverts commit 1fb701594b78e950c031974d83c3566d1d648156. There are some problems created by this commit, reverting for now until they can be evauluated Conflicts: src/event.cpp
2011-03-18Set unmanaging before managedSam Spilsbury1-1/+1
2011-03-18Only set w->unmanaging if the window was actually managedSam Spilsbury1-1/+1
Forward port 84a27e08e8e2f6c3a70ee7966624411e0e330db4 to master
2011-03-18Merge https://github.com/robtaylor/compizSam Spilsbury2-1/+3
2011-03-18Fix warningSam Spilsbury1-1/+1
2011-03-18If the root window gets focus, unset activeWindow before calling ↵Scott Moreau1-2/+2
focusDefaultWindow to make sure the latter really focusses another window. Forward port 33f695e7c6e4fb8ac627df0978fea7771fe1b3d5 to master
2011-03-18If an unexpected window gets focus (e.g. by a client calling XSetInputFocus ↵Scott Moreau2-10/+16
directly), make sure that moving the input focus to a default window still works when that window is closed. Forward port 556b681adaab3fe27fa456037be82e902dd371be to master
2011-03-18Don't grant focus to override_redirect windows. Most other window managers ↵Scott Moreau1-1/+1
don't even track override_redirect windows, so applications relying on the focus being granted to override_redirect windows are broken anyway. Forward port 30a92d8a060d79181a28840d7c66428ef431200c to master