Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 52097)
@@ -507,4 +507,5 @@
         case RuntimeMenuViewActionType_GuestAutoresize: strResult = "GuestAutoresize"; break;
         case RuntimeMenuViewActionType_AdjustWindow:    strResult = "AdjustWindow"; break;
+        case RuntimeMenuViewActionType_StatusBar:       strResult = "StatusBar"; break;
         case RuntimeMenuViewActionType_Multiscreen:     strResult = "Multiscreen"; break;
         case RuntimeMenuViewActionType_All:             strResult = "All"; break;
@@ -529,4 +530,5 @@
     keys << "GuestAutoresize"; values << RuntimeMenuViewActionType_GuestAutoresize;
     keys << "AdjustWindow";    values << RuntimeMenuViewActionType_AdjustWindow;
+    keys << "StatusBar";       values << RuntimeMenuViewActionType_StatusBar;
     keys << "Multiscreen";     values << RuntimeMenuViewActionType_Multiscreen;
     keys << "All";             values << RuntimeMenuViewActionType_All;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 52097)
@@ -413,5 +413,6 @@
     RuntimeMenuViewActionType_GuestAutoresize = RT_BIT(3),
     RuntimeMenuViewActionType_AdjustWindow    = RT_BIT(4),
-    RuntimeMenuViewActionType_Multiscreen     = RT_BIT(5),
+    RuntimeMenuViewActionType_StatusBar       = RT_BIT(5),
+    RuntimeMenuViewActionType_Multiscreen     = RT_BIT(6),
     RuntimeMenuViewActionType_All             = 0xFFFF
 };
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp	(revision 52097)
@@ -692,4 +692,50 @@
         setName(QApplication::translate("UIActionPool", "&Adjust Window Size"));
         setStatusTip(QApplication::translate("UIActionPool", "Adjust window size and position to best fit the guest display"));
+    }
+};
+
+class UIActionMenuStatusBar : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    UIActionMenuStatusBar(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {
+        retranslateUi();
+    }
+
+protected:
+
+    void retranslateUi()
+    {
+        setName(QApplication::translate("UIActionPool", "&Status Bar"));
+    }
+};
+
+class UIActionSimpleShowStatusBarSettingsWindow : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    UIActionSimpleShowStatusBarSettingsWindow(UIActionPool *pParent)
+        : UIActionSimple(pParent)
+    {
+        retranslateUi();
+    }
+
+protected:
+
+    QString shortcutExtraDataID() const
+    {
+        return QString("StatusBarSettings");
+    }
+
+    void retranslateUi()
+    {
+        setName(QApplication::translate("UIActionPool", "&Status Bar Settings..."));
+        setStatusTip(QApplication::translate("UIActionPool", "Opens window to configure status-bar"));
     }
 };
@@ -1341,4 +1387,5 @@
     m_pool[UIActionIndexRuntime_Toggle_GuestAutoresize] = new UIActionToggleGuestAutoresize(this);
     m_pool[UIActionIndexRuntime_Simple_AdjustWindow] = new UIActionSimplePerformWindowAdjust(this);
+    m_pool[UIActionIndexRuntime_Simple_StatusBarSettings] = new UIActionSimpleShowStatusBarSettingsWindow(this);
 
     /* 'Devices' actions: */
@@ -1395,4 +1442,7 @@
         delete m_pool[UIActionIndexRuntime_Menu_View];
     m_pool[UIActionIndexRuntime_Menu_View] = new UIActionMenuView(this);
+    if (m_pool[UIActionIndexRuntime_Menu_StatusBar])
+        delete m_pool[UIActionIndexRuntime_Menu_StatusBar];
+    m_pool[UIActionIndexRuntime_Menu_StatusBar] = new UIActionMenuStatusBar(this);
 
     /* 'Devices' menu: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h	(revision 52097)
@@ -54,4 +54,6 @@
     UIActionIndexRuntime_Toggle_GuestAutoresize,
     UIActionIndexRuntime_Simple_AdjustWindow,
+    UIActionIndexRuntime_Menu_StatusBar,
+    UIActionIndexRuntime_Simple_StatusBarSettings,
 
     /* 'Devices' menu actions: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp	(revision 52097)
@@ -857,4 +857,6 @@
     m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Toggle_MouseIntegration));
     m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Toggle_Pause));
+    m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_StatusBar));
+    m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings));
     m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Menu_HardDisks));
     m_pRunningOrPausedActions->addAction(gActionPool->action(UIActionIndexRuntime_Simple_StorageSettings));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineMenuBar.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineMenuBar.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineMenuBar.cpp	(revision 52097)
@@ -382,7 +382,13 @@
 
 
+    /* Separator #2? */
+    bool fSeparator2 = false;
+
     /* Guest Autoresize action: */
     if (m_pSession->allowedActionsMenuView() & RuntimeMenuViewActionType_GuestAutoresize)
+    {
         pMenu->addAction(gActionPool->action(UIActionIndexRuntime_Toggle_GuestAutoresize));
+        fSeparator2 = true;
+    }
     else
         gActionPool->action(UIActionIndexRuntime_Toggle_GuestAutoresize)->setEnabled(false);
@@ -390,7 +396,27 @@
     /* Adjust Window action: */
     if (m_pSession->allowedActionsMenuView() & RuntimeMenuViewActionType_AdjustWindow)
+    {
         pMenu->addAction(gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow));
+        fSeparator2 = true;
+    }
     else
         gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow)->setEnabled(false);
+
+    /* Separator #2: */
+    if (fSeparator2)
+        pMenu->addSeparator();
+
+
+    /* Status-bar submenu: */
+    if (m_pSession->allowedActionsMenuView() & RuntimeMenuViewActionType_StatusBar)
+    {
+        pMenu->addAction(gActionPool->action(UIActionIndexRuntime_Menu_StatusBar));
+        gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->menu()->addAction(gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings));
+    }
+    else
+    {
+        gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setEnabled(false);
+        gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings)->setEnabled(false);
+    }
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp	(revision 52097)
@@ -23,4 +23,5 @@
 #include <QPaintEvent>
 #include <QMouseEvent>
+#include <QStatusBar>
 #include <QMdiArea>
 #include <QPainter>
@@ -35,4 +36,5 @@
 #include "UIExtraDataManager.h"
 #include "UIExtraDataDefs.h"
+#include "UIMachineWindow.h"
 #include "UIConverter.h"
 #include "UIIconPool.h"
@@ -699,7 +701,8 @@
 
 
-UIStatusBarEditorWindow::UIStatusBarEditorWindow(QWidget *pParent, const QRect &rect, const QRect &statusBarRect)
+UIStatusBarEditorWindow::UIStatusBarEditorWindow(UIMachineWindow *pParent)
     : QWidget(pParent, Qt::Tool | Qt::FramelessWindowHint)
-    , m_rect(rect), m_statusBarRect(statusBarRect)
+    , m_rect(pParent->geometry())
+    , m_statusBarRect(pParent->statusBar()->geometry())
     , m_pAnimation(0), m_fExpanded(false)
     , m_pMainLayout(0), m_pMdiArea(0)
@@ -809,6 +812,10 @@
 #endif /* Q_WS_WIN */
 
-    /* Request to activate window after it was shown: */
-    connect(this, SIGNAL(sigShown()), this, SLOT(sltActivateWindow()), Qt::QueuedConnection);
+    /* Activate window after it was shown: */
+    connect(this, SIGNAL(sigShown()), this,
+            SLOT(sltActivateWindow()), Qt::QueuedConnection);
+    /* Update window geometry after parent geometry changed: */
+    connect(parent(), SIGNAL(sigGeometryChange(const QRect&)),
+            this, SLOT(sltParentGeometryChanged(const QRect&)));
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.h	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.h	(revision 52097)
@@ -24,6 +24,7 @@
 class QMdiArea;
 class QMdiSubWindow;
+class QHBoxLayout;
 class UIAnimation;
-class QHBoxLayout;
+class UIMachineWindow;
 class UIStatusBarEditorWidget;
 
@@ -48,8 +49,6 @@
 public:
 
-    /** Constructor, passes @a pParent to the QWidget constructor.
-      * @param rect is used to define initial cached parent geometry.
-      * @param statusBarRect is used to define initial cached status-bar geometry. */
-    UIStatusBarEditorWindow(QWidget *pParent, const QRect &rect, const QRect &statusBarRect);
+    /** Constructor, passes @a pParent to the QWidget constructor. */
+    UIStatusBarEditorWindow(UIMachineWindow *pParent);
 
 private slots:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp	(revision 52097)
@@ -434,4 +434,6 @@
     /* Adjust-window action isn't allowed in fullscreen: */
     gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow)->setVisible(false);
+    /* Status-bar menu isn't allowed in fullscreen: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(false);
 
     /* Take care of view-action toggle state: */
@@ -606,4 +608,6 @@
     }
 
+    /* Reenable status-bar menu: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(true);
     /* Reenable adjust-window action: */
     gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow)->setVisible(true);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp	(revision 52097)
@@ -26,4 +26,6 @@
 #include "UIMachineLogicNormal.h"
 #include "UIMachineWindow.h"
+#include "UIStatusBarEditorWindow.h"
+#include "UIExtraDataManager.h"
 #ifdef Q_WS_MAC
 #include "VBoxUtils.h"
@@ -68,4 +70,33 @@
 }
 
+void UIMachineLogicNormal::sltOpenStatusBarSettings()
+{
+    /* Do not process if window(s) missed! */
+    AssertReturnVoid(isMachineWindowsCreated());
+
+    /* Prevent user from opening another one editor: */
+    gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings)->setEnabled(false);
+    /* Create status-bar editor: */
+    UIStatusBarEditorWindow *pStatusBarEditor = new UIStatusBarEditorWindow(activeMachineWindow());
+    AssertPtrReturnVoid(pStatusBarEditor);
+    {
+        /* Configure status-bar editor: */
+        connect(pStatusBarEditor, SIGNAL(destroyed(QObject*)),
+                this, SLOT(sltStatusBarSettingsClosed()));
+#ifdef Q_WS_MAC
+        connect(this, SIGNAL(sigNotifyAbout3DOverlayVisibilityChange(bool)),
+                pStatusBarEditor, SLOT(sltActivateWindow()));
+#endif /* Q_WS_MAC */
+        /* Show window: */
+        pStatusBarEditor->show();
+    }
+}
+
+void UIMachineLogicNormal::sltStatusBarSettingsClosed()
+{
+    /* Allow user to open editor again: */
+    gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings)->setEnabled(true);
+}
+
 void UIMachineLogicNormal::sltPrepareHardDisksMenu()
 {
@@ -121,4 +152,6 @@
     connect(gActionPool->action(UIActionIndexRuntime_Toggle_Scale), SIGNAL(triggered(bool)),
             this, SLOT(sltChangeVisualStateToScale()));
+    connect(gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings), SIGNAL(triggered(bool)),
+            this, SLOT(sltOpenStatusBarSettings()));
 
     /* "Device" actions connections: */
@@ -183,4 +216,6 @@
     disconnect(gActionPool->action(UIActionIndexRuntime_Toggle_Scale), SIGNAL(triggered(bool)),
                this, SLOT(sltChangeVisualStateToScale()));
+    disconnect(gActionPool->action(UIActionIndexRuntime_Simple_StatusBarSettings), SIGNAL(triggered(bool)),
+               this, SLOT(sltOpenStatusBarSettings()));
 
     /* Call to base-class: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.h	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.h	(revision 52097)
@@ -39,5 +39,9 @@
     void sltCheckForRequestedVisualStateType();
 
-    /* Windowed mode functionality: */
+    /* View menu functionality: */
+    void sltOpenStatusBarSettings();
+    void sltStatusBarSettingsClosed();
+
+    /* Devices menu functionality: */
     void sltPrepareHardDisksMenu();
     void sltPrepareSharedFoldersMenu();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.cpp	(revision 52097)
@@ -28,5 +28,4 @@
 #include "VBoxGlobal.h"
 #include "UIMachineWindowNormal.h"
-#include "UIStatusBarEditorWindow.h"
 #include "UIActionPoolRuntime.h"
 #include "UIExtraDataManager.h"
@@ -114,44 +113,8 @@
 }
 
-void UIMachineWindowNormal::sltShowStatusBarContextMenu(const QPoint &position)
-{
-    /* Prepare context-menu: */
-    QMenu menu;
-    /* Having just one action to configure status-bar: */
-    QAction *pAction = menu.addAction(UIIconPool::iconSet(":/vm_settings_16px.png"),
-                                      tr("Configure status-bar..."),
-                                      this, SLOT(sltOpenStatusBarEditorWindow()));
-    pAction->setEnabled(!uisession()->property("StatusBarEditorOpened").toBool());
-    /* Execute context-menu: */
-    menu.exec(statusBar()->mapToGlobal(position));
-}
-
-void UIMachineWindowNormal::sltOpenStatusBarEditorWindow()
-{
-    /* Prevent user from opening another one editor: */
-    uisession()->setProperty("StatusBarEditorOpened", true);
-    /* Create status-bar editor: */
-    UIStatusBarEditorWindow *pStatusBarEditor =
-        new UIStatusBarEditorWindow(this, m_normalGeometry, statusBar()->geometry());
-    AssertPtrReturnVoid(pStatusBarEditor);
-    {
-        /* Configure status-bar editor: */
-        connect(this, SIGNAL(sigGeometryChange(const QRect&)),
-                pStatusBarEditor, SLOT(sltParentGeometryChanged(const QRect&)));
-        connect(pStatusBarEditor, SIGNAL(destroyed(QObject*)),
-                this, SLOT(sltStatusBarEditorWindowClosed()));
-#ifdef Q_WS_MAC
-        connect(machineLogic(), SIGNAL(sigNotifyAbout3DOverlayVisibilityChange(bool)),
-                pStatusBarEditor, SLOT(sltActivateWindow()));
-#endif /* Q_WS_MAC */
-        /* Show window: */
-        pStatusBarEditor->show();
-    }
-}
-
-void UIMachineWindowNormal::sltStatusBarEditorWindowClosed()
-{
-    /* Allow user to open editor again: */
-    uisession()->setProperty("StatusBarEditorOpened", QVariant());
+void UIMachineWindowNormal::sltHandleStatusBarContextMenuRequest(const QPoint &position)
+{
+    /* Raise action's context-menu: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->menu()->exec(statusBar()->mapToGlobal(position));
 }
 
@@ -237,5 +200,5 @@
         statusBar()->setContextMenuPolicy(Qt::CustomContextMenu);
         connect(statusBar(), SIGNAL(customContextMenuRequested(const QPoint&)),
-                this, SLOT(sltShowStatusBarContextMenu(const QPoint&)));
+                this, SLOT(sltHandleStatusBarContextMenuRequest(const QPoint&)));
         /* Create indicator-pool: */
         m_pIndicatorsPool = new UIIndicatorsPool(machineLogic()->uisession());
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.h	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineWindowNormal.h	(revision 52097)
@@ -60,11 +60,6 @@
 
     /** Handles status-bar context-menu-request: */
-    void sltShowStatusBarContextMenu(const QPoint &position);
-    /** Handles status-bar editor opening. */
-    void sltOpenStatusBarEditorWindow();
-    /** Handles status-bar editor closing. */
-    void sltStatusBarEditorWindowClosed();
-
-    /** Handles indicator context-menu-request: */
+    void sltHandleStatusBarContextMenuRequest(const QPoint &position);
+    /** Handles status-bar indicator context-menu-request: */
     void sltHandleIndicatorContextMenuRequest(IndicatorType indicatorType, const QPoint &position);
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineLogicScale.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineLogicScale.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineLogicScale.cpp	(revision 52097)
@@ -57,4 +57,6 @@
     /* Adjust-window isn't allowed in scale-mode: */
     gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow)->setVisible(false);
+    /* Status-bar menu isn't allowed in scale-mode: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(false);
 
     /* Take care of view-action toggle state: */
@@ -149,4 +151,6 @@
     }
 
+    /* Reenable status-bar menu: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(true);
     /* Reenable guest-autoresize action: */
     gActionPool->action(UIActionIndexRuntime_Toggle_GuestAutoresize)->setVisible(true);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp	(revision 52096)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp	(revision 52097)
@@ -189,4 +189,6 @@
     /* Disable mouse-integration isn't allowed in seamless: */
     gActionPool->action(UIActionIndexRuntime_Toggle_MouseIntegration)->setVisible(false);
+    /* Status-bar menu isn't allowed in seamless: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(false);
 
     /* Take care of view-action toggle state: */
@@ -292,4 +294,6 @@
     }
 
+    /* Reenable status-bar menu: */
+    gActionPool->action(UIActionIndexRuntime_Menu_StatusBar)->setVisible(true);
     /* Reenable guest-autoresize action: */
     gActionPool->action(UIActionIndexRuntime_Toggle_GuestAutoresize)->setVisible(true);
