Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 88518)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 88519)
@@ -467,4 +467,5 @@
     , m_fFirstMediumEnumerationHandled(false)
     , m_pActionPool(0)
+    , m_iGeometrySaveTimerId(-1)
 {
     s_pInstance = this;
@@ -537,4 +538,27 @@
             emit sigWindowRemapped();
             break;
+        }
+        /* Handle move/resize geometry changes: */
+        case QEvent::Move:
+        case QEvent::Resize:
+        {
+            if (m_iGeometrySaveTimerId != -1)
+                killTimer(m_iGeometrySaveTimerId);
+            m_iGeometrySaveTimerId = startTimer(300);
+            break;
+        }
+        /* Handle timer event started above: */
+        case QEvent::Timer:
+        {
+            QTimerEvent *pTimerEvent = static_cast<QTimerEvent*>(pEvent);
+            if (pTimerEvent->timerId() == m_iGeometrySaveTimerId)
+            {
+                killTimer(m_iGeometrySaveTimerId);
+                m_iGeometrySaveTimerId = -1;
+                const QRect geo = currentGeometry();
+                LogRel2(("GUI: UIVirtualBoxManager: Saving geometry as: Origin=%dx%d, Size=%dx%d\n",
+                         geo.x(), geo.y(), geo.width(), geo.height()));
+                gEDataManager->setSelectorWindowGeometry(geo, isCurrentlyMaximized());
+            }
         }
         default:
@@ -2254,5 +2278,5 @@
 #endif
 
-    /* Medium enumeration connections: */
+    /* UICommon connections: */
     connect(&uiCommon(), &UICommon::sigMediumEnumerationFinished,
             this, &UIVirtualBoxManager::sltHandleMediumEnumerationFinish);
@@ -2470,15 +2494,4 @@
 }
 
-void UIVirtualBoxManager::saveSettings()
-{
-    /* Save window geometry: */
-    {
-        const QRect geo = currentGeometry();
-        LogRel2(("GUI: UIVirtualBoxManager: Saving geometry as: Origin=%dx%d, Size=%dx%d\n",
-                 geo.x(), geo.y(), geo.width(), geo.height()));
-        gEDataManager->setSelectorWindowGeometry(geo, isCurrentlyMaximized());
-    }
-}
-
 void UIVirtualBoxManager::cleanupConnections()
 {
@@ -2517,7 +2530,4 @@
     sltCloseManagerWindow(UIToolType_Cloud);
     sltCloseManagerWindow(UIToolType_CloudConsole);
-
-    /* Save settings: */
-    saveSettings();
 
     /* Cleanup: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 88518)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 88519)
@@ -321,6 +321,4 @@
         void loadSettings();
 
-        /** Saves settings. */
-        void saveSettings();
         /** Cleanups connections. */
         void cleanupConnections();
@@ -458,4 +456,7 @@
     /** Holds the central-widget instance. */
     UIVirtualBoxManagerWidget *m_pWidget;
+
+    /** Holds the geometry save timer ID. */
+    int  m_iGeometrySaveTimerId;
 };
 
