diff --git a/Src/Localization/English/StartMenu.html b/Src/Localization/English/StartMenu.html index 72531e856..36d12c9f6 100644 --- a/Src/Localization/English/StartMenu.html +++ b/Src/Localization/English/StartMenu.html @@ -107,7 +107,8 @@
Hold down Shift while clicking on the orb to access the operating system's own -Start menu. +Start menu. By default Shift+right-click on the orb opens the Win+X menu of Windows. It is +also in the orb's right-click menu, as Win+X Menu.
Click on an item to execute it. diff --git a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp index 9fdb5dffe..da4ef6501 100644 --- a/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp +++ b/Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp @@ -4134,6 +4134,7 @@ if (!g_bTrimHooks) CMD_EXPLORER, CMD_OPEN_PINNED, CMD_RELOAD, + CMD_WINX, }; // right-click on the start button - open the context menu (Settings, Help, Exit) @@ -4151,7 +4152,8 @@ if (!g_bTrimHooks) AppendMenu(menu,MF_SEPARATOR,0,0); } int count0=GetMenuItemCount(menu); - if (GetSettingBool(L"EnableExplorer")) + bool bExplorer=GetSettingBool(L"EnableExplorer"); + if (bExplorer) { if (!GetSettingString(L"ExplorerPath").IsEmpty()) AppendMenu(menu,MF_STRING,CMD_EXPLORER,FindTranslation(L"Menu.Explorer",L"Windows Explorer")); @@ -4160,8 +4162,13 @@ if (!g_bTrimHooks) AppendMenu(menu,MF_STRING,CMD_OPEN_ALL,FindTranslation(L"Menu.OpenAll",L"O&pen All Users")); if (GetSettingInt(L"PinnedPrograms")==PINNED_PROGRAMS_PINNED) AppendMenu(menu,MF_STRING,CMD_OPEN_PINNED,FindTranslation(L"Menu.OpenPinned",L"O&pen Pinned")); - AppendMenu(menu,MF_SEPARATOR,0,0); } + // the Win+X menu of Windows, which Shift+right-click opens, for those who don't know the shortcut. + // it doesn't open folders, so EnableExplorer doesn't remove it + if (winVer>=WIN_VER_WIN8) + AppendMenu(menu,MF_STRING,CMD_WINX,FindTranslation(L"Menu.WinXMenu",L"Win+X Menu")); + if (bExplorer || winVer>=WIN_VER_WIN8) + AppendMenu(menu,MF_SEPARATOR,0,0); if (GetSettingBool(L"EnableSettings")) AppendMenu(menu,MF_STRING,CMD_SETTINGS,FindTranslation(L"Menu.MenuSettings",L"Settings")); if (HasHelp()) @@ -4190,6 +4197,10 @@ if (!g_bTrimHooks) int res=TrackPopupMenu(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD|(IsLanguageRTL()?TPM_LAYOUTRTL:0),pt0.x,pt0.y,0,msg->hwnd,NULL); DestroyMenu(menu); g_bInMenu=false; + if (res==CMD_WINX) + { + ShowWinX(); // as Shift+right-click does + } if (res==CMD_SETTINGS) { EditSettings(false,0); diff --git a/Src/StartMenu/StartMenuL10N.ini b/Src/StartMenu/StartMenuL10N.ini index e8fe39381..69429f3a2 100644 --- a/Src/StartMenu/StartMenuL10N.ini +++ b/Src/StartMenu/StartMenuL10N.ini @@ -1084,6 +1084,7 @@ Menu.Explorer = Windows Explorer Menu.Start = Start Menu.StartScreen = Start Screen Menu.StartMenu = Start Menu (Windows) +Menu.WinXMenu = Win+X Menu Menu.PinStart = Pin to Start menu Menu.PinStartCs = Pin to Start menu (Open-Shell) Menu.UnpinStartCs = Unpin from Start menu (Open-Shell)