diff --git a/src/runner/Resources.resx b/src/runner/Resources.resx
index 8656bfff10..f961182c08 100644
--- a/src/runner/Resources.resx
+++ b/src/runner/Resources.resx
@@ -109,6 +109,9 @@
Settings
+
+ Open documentation
+
Exit
Exit as a verb, as in Exit the application
diff --git a/src/runner/resource.base.h b/src/runner/resource.base.h
index 786b11cba9..71eaf1e1a7 100644
--- a/src/runner/resource.base.h
+++ b/src/runner/resource.base.h
@@ -18,4 +18,5 @@
#define ID_EXIT_MENU_COMMAND 40001
#define ID_SETTINGS_MENU_COMMAND 40002
#define ID_ABOUT_MENU_COMMAND 40003
-#define ID_REPORT_BUG_COMMAND 40004
\ No newline at end of file
+#define ID_REPORT_BUG_COMMAND 40004
+#define ID_DOCUMENTATION_MENU_COMMAND 40005
\ No newline at end of file
diff --git a/src/runner/runner.base.rc b/src/runner/runner.base.rc
index a71be4b779..10a4555db8 100644
Binary files a/src/runner/runner.base.rc and b/src/runner/runner.base.rc differ
diff --git a/src/runner/tray_icon.cpp b/src/runner/tray_icon.cpp
index 97fa1952ab..7e94fb6a15 100644
--- a/src/runner/tray_icon.cpp
+++ b/src/runner/tray_icon.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
namespace
{
@@ -84,6 +85,7 @@ void handle_tray_command(HWND window, const WPARAM command_id)
}
break;
case ID_REPORT_BUG_COMMAND:
+ {
std::wstring bug_report_path = get_module_folderpath();
bug_report_path += L"\\Tools\\BugReportTool.exe";
SHELLEXECUTEINFOW sei{ sizeof(sei) };
@@ -100,6 +102,14 @@ void handle_tray_command(HWND window, const WPARAM command_id)
break;
}
+
+ case ID_DOCUMENTATION_MENU_COMMAND:
+ {
+ RunNonElevatedEx(L"https://aka.ms/PowerToysOverview", L"");
+ break;
+ }
+
+ }
}
LRESULT __stdcall tray_icon_window_proc(HWND window, UINT message, WPARAM wparam, LPARAM lparam)
@@ -171,10 +181,12 @@ LRESULT __stdcall tray_icon_window_proc(HWND window, UINT message, WPARAM wparam
static std::wstring settings_menuitem_label = GET_RESOURCE_STRING(IDS_SETTINGS_MENU_TEXT);
static std::wstring exit_menuitem_label = GET_RESOURCE_STRING(IDS_EXIT_MENU_TEXT);
static std::wstring submit_bug_menuitem_label = GET_RESOURCE_STRING(IDS_SUBMIT_BUG_TEXT);
+ static std::wstring documentation_menuitem_label = GET_RESOURCE_STRING(IDS_DOCUMENTATION_MENU_TEXT);
change_menu_item_text(ID_SETTINGS_MENU_COMMAND, settings_menuitem_label.data());
change_menu_item_text(ID_EXIT_MENU_COMMAND, exit_menuitem_label.data());
change_menu_item_text(ID_REPORT_BUG_COMMAND, submit_bug_menuitem_label.data());
+ change_menu_item_text(ID_DOCUMENTATION_MENU_COMMAND, documentation_menuitem_label.data());
}
if (!h_sub_menu)
{
diff --git a/src/settings-ui/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
index beaba96b91..3a57b66d30 100644
--- a/src/settings-ui/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
+++ b/src/settings-ui/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
@@ -1394,7 +1394,10 @@ From there, simply click on a Markdown file or SVG icon in the File Explorer and
Show format in editor
+
+ Open documentation
+
Search this list
-
\ No newline at end of file
+
diff --git a/src/settings-ui/Microsoft.PowerToys.Settings.UI/Views/GeneralPage.xaml b/src/settings-ui/Microsoft.PowerToys.Settings.UI/Views/GeneralPage.xaml
index 8f7c9fb656..f1501fb0b5 100644
--- a/src/settings-ui/Microsoft.PowerToys.Settings.UI/Views/GeneralPage.xaml
+++ b/src/settings-ui/Microsoft.PowerToys.Settings.UI/Views/GeneralPage.xaml
@@ -222,6 +222,7 @@
+