summaryrefslogtreecommitdiff
path: root/hw/darwin/quartz/xpr/xprScreen.c
diff options
context:
space:
mode:
authorBen Byer <bbyer@bbyer.local>2007-11-03 05:34:19 -0700
committerJeremy Huddleston <jeremy@tifa.local>2007-11-21 23:13:48 -0800
commit01b70afaac0990b41d1fb6fadbfd64df1486b669 (patch)
treebd6c989b1ea0de1f3572115cacd945a03ee0cb3a /hw/darwin/quartz/xpr/xprScreen.c
parentb39edc01a6588697b65f831e8ab1dbb24cbe7b24 (diff)
Darwin: Initial support for Spaces -- if you use Expose to drag an X11
window to another Space, it will work correctly (as opposed to just leaving a ghost window). We accomplish this by listening for the notification from Xplugin that our window has been moved, and then we ask X11 to move the window to the new location. (cherry picked from commit 2d50ea8013e7c1639d570e227b53b037fb567565)
Diffstat (limited to 'hw/darwin/quartz/xpr/xprScreen.c')
-rw-r--r--hw/darwin/quartz/xpr/xprScreen.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/hw/darwin/quartz/xpr/xprScreen.c b/hw/darwin/quartz/xpr/xprScreen.c
index a625e62a4..674a268ad 100644
--- a/hw/darwin/quartz/xpr/xprScreen.c
+++ b/hw/darwin/quartz/xpr/xprScreen.c
@@ -87,7 +87,13 @@ eventHandler(unsigned int type, const void *arg,
{
xp_window_id id = * (xp_window_id *) arg;
WindowPtr pWin = xprGetXWindow(id);
- QuartzMessageServerThread(kXDarwinWindowMoved, 1, pWin);
+ BoxRec box;
+ xp_error retval = xp_get_window_bounds(id, &box);
+ if (retval != Success) {
+ ErrorF("Unable to find new bounds for window\n");
+ break;
+ }
+ QuartzMessageServerThread(kXDarwinWindowMoved, 3, pWin, box.x1, box.y1);
}
break;