Skip to content

Commit f743b89

Browse files
Start button's context menu: open the Windows Start menu or the Win+X menu
Shift+click on the start button opens the Windows Start menu, and Shift+right-click the Win+X menu, but nothing in the menu says so; a user who doesn't know the shortcuts can't reach either. The right-click menu now has them as their own section at the top: "Start Menu (Windows)" and "Win+X Menu" (Windows 8 and later, where both exist). They do exactly what the shortcuts do: post SC_TASKLIST 'WSMK' to Progman (the -togglenew path) and ShowWinX(). The first label reuses Menu.StartMenu, which is already translated in 41 languages for the Start Menu (Windows) item. Menu.WinXMenu is new, English only for now. The Operation section of the help mentions both.
1 parent 7e6a31b commit f743b89

3 files changed

Lines changed: 20 additions & 1 deletion

File tree

‎Src/Localization/English/StartMenu.html‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ <h1><a name="operation"></a> Operation</h1>
107107
<p>
108108
Hold down Shift while clicking on the orb to access the operating
109109
system's own
110-
Start menu.
110+
Start menu. By default Shift+right-click on the orb opens the Win+X menu of Windows. Both are
111+
also in the orb's right-click menu, as Start Menu (Windows) and Win+X Menu.
111112
</p>
112113
<p>
113114
Click on an item to execute it.

‎Src/StartMenu/StartMenuDLL/StartMenuDLL.cpp‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4134,6 +4134,8 @@ if (!g_bTrimHooks)
41344134
CMD_EXPLORER,
41354135
CMD_OPEN_PINNED,
41364136
CMD_RELOAD,
4137+
CMD_WINDOWS_START,
4138+
CMD_WINX,
41374139
};
41384140

41394141
// right-click on the start button - open the context menu (Settings, Help, Exit)
@@ -4151,6 +4153,13 @@ if (!g_bTrimHooks)
41514153
AppendMenu(menu,MF_SEPARATOR,0,0);
41524154
}
41534155
int count0=GetMenuItemCount(menu);
4156+
if (winVer>=WIN_VER_WIN8)
4157+
{
4158+
// the menus of Windows itself, which Shift+click and Shift+right-click open, for those who don't know the shortcuts
4159+
AppendMenu(menu,MF_STRING,CMD_WINDOWS_START,FindTranslation(L"Menu.StartMenu",L"Start Menu (Windows)"));
4160+
AppendMenu(menu,MF_STRING,CMD_WINX,FindTranslation(L"Menu.WinXMenu",L"Win+X Menu"));
4161+
AppendMenu(menu,MF_SEPARATOR,0,0);
4162+
}
41544163
if (GetSettingBool(L"EnableExplorer"))
41554164
{
41564165
if (!GetSettingString(L"ExplorerPath").IsEmpty())
@@ -4190,6 +4199,14 @@ if (!g_bTrimHooks)
41904199
int res=TrackPopupMenu(menu,TPM_RIGHTBUTTON|TPM_RETURNCMD|(IsLanguageRTL()?TPM_LAYOUTRTL:0),pt0.x,pt0.y,0,msg->hwnd,NULL);
41914200
DestroyMenu(menu);
41924201
g_bInMenu=false;
4202+
if (res==CMD_WINDOWS_START)
4203+
{
4204+
PostMessage(g_ProgWin,WM_SYSCOMMAND,SC_TASKLIST,'WSMK'); // as Shift+click does
4205+
}
4206+
if (res==CMD_WINX)
4207+
{
4208+
ShowWinX(); // as Shift+right-click does
4209+
}
41934210
if (res==CMD_SETTINGS)
41944211
{
41954212
EditSettings(false,0);

‎Src/StartMenu/StartMenuL10N.ini‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1084,6 +1084,7 @@ Menu.Explorer = Windows Explorer
10841084
Menu.Start = Start
10851085
Menu.StartScreen = Start Screen
10861086
Menu.StartMenu = Start Menu (Windows)
1087+
Menu.WinXMenu = Win+X Menu
10871088
Menu.PinStart = Pin to Start menu
10881089
Menu.PinStartCs = Pin to Start menu (Open-Shell)
10891090
Menu.UnpinStartCs = Unpin from Start menu (Open-Shell)

0 commit comments

Comments
 (0)