Changeset 52313 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Aug 7, 2014 1:43:32 PM (10 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r52221 r52313 4662 4662 } 4663 4663 4664 bool VBoxGlobal::setFullScreenMonitorX11(QWidget *pWidget, 4665 unsigned long cScreen) 4666 { 4667 return XXSendClientMessage(pWidget->x11Info().display(), 4668 pWidget->window()->winId(), 4669 "_NET_WM_FULLSCREEN_MONITORS", cScreen, cScreen, 4670 cScreen, cScreen, 1 4671 /* Source indication (1 = normal application) */ 4672 ); 4673 } -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
r52203 r52313 120 120 bool switchToMachine(CMachine &machine); 121 121 bool launchMachine(CMachine &machine, bool fHeadless = false); 122 bool setFullScreenMonitorX11(QWidget *pWidget, unsigned long cScreen); 123 122 124 123 125 bool isVMConsoleProcess() const { return !vmUuid.isNull(); } -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineWindowFullscreen.cpp
r52300 r52313 296 296 setGeometry(geo); 297 297 } 298 #el se /* !Q_WS_MAC */298 #elif defined(Q_WS_WIN) 299 299 /* Resize to the appropriate size: */ 300 300 resize(workingArea.size()); 301 #elif defined(Q_WS_X11) 302 /* Any more-or-less modern window manager provides special mechanisms for 303 * multi-monitor resizing. We may fail on very old ones, but since we 304 * do not test them I prefer not to write speculative code to make them 305 * work. */ 301 306 #endif /* !Q_WS_MAC */ 302 307 /* Adjust guest screen size if necessary: */ … … 327 332 328 333 /* Make sure this window is maximized and placed on valid screen: */ 334 /** @todo Only needed for legacy window managers on X11 which we do not 335 * test; therefore this may not help there. Better to just refuse 336 * to support them? */ 329 337 placeOnScreen(); 330 338 … … 340 348 341 349 #ifdef Q_WS_X11 342 /* Make sure the window is placed on valid screen again 343 * after window is shown & window's decorations applied. 344 * That is required (still?) due to X11 Window Geometry Rules. */ 345 placeOnScreen(); 350 /* This tells recent window managers which screen(s) a window should be 351 * mapped to. Apparently some window managers will not respond to requests 352 * for unmapped windows, so do this after the call to showFullScreen(). */ 353 vboxGlobal().setFullScreenMonitorX11(this, pFullscreenLogic 354 ->hostScreenForGuestScreen 355 (m_uScreenId)); 346 356 #endif /* Q_WS_X11 */ 347 357 }
Note:
See TracChangeset
for help on using the changeset viewer.