VirtualBox

Changeset 69722 in vbox


Ignore:
Timestamp:
Nov 17, 2017 11:14:15 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119108
Message:

FE/Qt: bugref:9027: Setting WM_CLASS so that different VM windows get different 'name' only if a global flag is up.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r69500 r69722  
    140140#ifdef VBOX_WS_X11
    141141const char* UIExtraDataDefs::GUI_Fullscreen_LegacyMode = "GUI/Fullscreen/LegacyMode";
     142const char* UIExtraDataDefs::GUI_DistinguishMachineWindowGroups = "GUI/DistinguishMachineWindowGroups";
    142143#endif /* VBOX_WS_X11 */
    143144const char* UIExtraDataDefs::GUI_AutoresizeGuest = "GUI/AutoresizeGuest";
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r69500 r69722  
    248248        /** Holds whether legacy full-screen mode is requested. */
    249249        extern const char* GUI_Fullscreen_LegacyMode;
     250        /** Holds whether internal machine-window names should be unique. */
     251        extern const char* GUI_DistinguishMachineWindowGroups;
    250252#endif /* VBOX_WS_X11 */
    251253        /** Holds whether guest-screen auto-resize according machine-window size is enabled. */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r69680 r69722  
    19821982#ifdef VBOX_WS_X11
    19831983           << GUI_Fullscreen_LegacyMode
     1984           << GUI_DistinguishMachineWindowGroups
    19841985#endif /* VBOX_WS_X11 */
    19851986           << GUI_AutoresizeGuest << GUI_LastVisibilityStatusForGuestScreen << GUI_LastGuestSizeHint
     
    35563557    /* 'False' unless feature allowed: */
    35573558    return isFeatureAllowed(GUI_Fullscreen_LegacyMode);
     3559}
     3560
     3561bool UIExtraDataManager::distinguishMachineWindowGroups(const QString &strID)
     3562{
     3563    /* 'False' unless feature allowed: */
     3564    return isFeatureAllowed(GUI_DistinguishMachineWindowGroups, strID);
     3565}
     3566
     3567void UIExtraDataManager::setDistinguishMachineWindowGroups(const QString &strID, bool fEnabled)
     3568{
     3569    /* 'True' if feature allowed, null-string otherwise: */
     3570    setExtraDataString(GUI_DistinguishMachineWindowGroups, toFeatureAllowed(fEnabled), strID);
    35583571}
    35593572#endif /* VBOX_WS_X11 */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r69500 r69722  
    481481        /** Returns whether legacy full-screen mode is requested. */
    482482        bool legacyFullscreenModeRequested();
     483
     484        /** Returns whether internal machine-window name should be unique. */
     485        bool distinguishMachineWindowGroups(const QString &strID);
     486        /** Defines whether internal machine-window name should be unique. */
     487        void setDistinguishMachineWindowGroups(const QString &strID, bool fEnabled);
    483488#endif /* VBOX_WS_X11 */
    484489
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp

    r69698 r69722  
    9797{
    9898#ifdef VBOX_WS_X11
    99     /* Compose window name: */
    100     const QString strWindowName = QString("VirtualBox Machine UUID: %1").arg(vboxGlobal().managedVMUuid());
    101     vboxGlobal().setWMClass(this, strWindowName, strWindowName);
     99    /* Prepare default class/name values: */
     100    const QString strWindowClass = QString("VirtualBox Machine");
     101    QString strWindowName = strWindowClass;
     102    /* Check if we want Window Manager to distinguish Virtual Machine windows: */
     103    if (gEDataManager->distinguishMachineWindowGroups(vboxGlobal().managedVMUuid()))
     104        strWindowName = QString("VirtualBox Machine UUID: %1").arg(vboxGlobal().managedVMUuid());
     105    /* Assign WM_CLASS property: */
     106    vboxGlobal().setWMClass(this, strWindowName, strWindowClass);
    102107#endif
    103108
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette