summaryrefslogtreecommitdiff
path: root/hw/xquartz/quartz.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xquartz/quartz.c')
-rw-r--r--hw/xquartz/quartz.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index 7f302010b..1f0b0048b 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -324,6 +324,10 @@ void QuartzSetFullscreen(Bool state) {
if (quartzHasRoot && !quartzEnableRootless)
RootlessShowAllWindows ();
+ if (quartzHasRoot || quartzEnableRootless) {
+ RootlessRepositionWindows(screenInfo.screens[0]);
+ }
+
/* Somehow the menubar manages to interfere with our event stream
* in fullscreen mode, even though it's not visible.
*/
@@ -341,18 +345,18 @@ void QuartzSetRootless(Bool state) {
quartzEnableRootless = state;
+ xp_disable_update();
+
/* When in rootless, the menubar is not part of the screen, so we need to update our screens on toggle */
QuartzUpdateScreens();
if (!quartzEnableRootless && !quartzHasRoot) {
- xp_disable_update();
RootlessHideAllWindows();
- xp_reenable_update();
} else if (quartzEnableRootless && !quartzHasRoot) {
- xp_disable_update();
RootlessShowAllWindows();
- xp_reenable_update();
}
+
+ xp_reenable_update();
}
/*