diff --git a/Servers/WindowServer/WSMenuItem.cpp b/Servers/WindowServer/WSMenuItem.cpp index 745d494c16..ba65e391e6 100644 --- a/Servers/WindowServer/WSMenuItem.cpp +++ b/Servers/WindowServer/WSMenuItem.cpp @@ -2,7 +2,7 @@ #include "WSMenu.h" #include -WSMenuItem::WSMenuItem(WSMenu& menu, unsigned identifier, const String& text, const String& shortcut_text, bool enabled, bool checkable, bool checked) +WSMenuItem::WSMenuItem(WSMenu& menu, unsigned identifier, const String& text, const String& shortcut_text, bool enabled, bool checkable, bool checked, const GraphicsBitmap* icon) : m_menu(menu) , m_type(Text) , m_enabled(enabled) @@ -11,6 +11,7 @@ WSMenuItem::WSMenuItem(WSMenu& menu, unsigned identifier, const String& text, co , m_identifier(identifier) , m_text(text) , m_shortcut_text(shortcut_text) + , m_icon(icon) { } diff --git a/Servers/WindowServer/WSMenuItem.h b/Servers/WindowServer/WSMenuItem.h index 36c5d46f9c..27b9595222 100644 --- a/Servers/WindowServer/WSMenuItem.h +++ b/Servers/WindowServer/WSMenuItem.h @@ -15,7 +15,7 @@ public: Separator, }; - WSMenuItem(WSMenu&, unsigned identifier, const String& text, const String& shortcut_text = {}, bool enabled = true, bool checkable = false, bool checked = false); + WSMenuItem(WSMenu&, unsigned identifier, const String& text, const String& shortcut_text = {}, bool enabled = true, bool checkable = false, bool checked = false, const GraphicsBitmap* icon = nullptr); WSMenuItem(WSMenu&, Type); ~WSMenuItem(); diff --git a/Servers/WindowServer/WSWindowManager.cpp b/Servers/WindowServer/WSWindowManager.cpp index d0bdc6d3dc..5d738584de 100644 --- a/Servers/WindowServer/WSWindowManager.cpp +++ b/Servers/WindowServer/WSWindowManager.cpp @@ -47,12 +47,13 @@ WSWindowManager::WSWindowManager() struct AppMenuItem { const char* binary_name; const char* description; + const char* icon_path; }; Vector apps = { - { "/bin/Terminal", "Open Terminal..." }, - { "/bin/FileManager", "Open FileManager..." }, - { "/bin/ProcessManager", "Open ProcessManager..." } + { "/bin/Terminal", "Open Terminal...", "/res/icons/16x16/app-terminal.png" }, + { "/bin/FileManager", "Open FileManager...", "/res/icons/16x16/filetype-folder.png" }, + { "/bin/SystemMonitor", "Open SystemMonitor...", "/res/icons/16x16/app-system-monitor.png" } }; u8 system_menu_name[] = { 0xf8, 0 }; @@ -60,7 +61,7 @@ WSWindowManager::WSWindowManager() int appIndex = 1; for (const auto& app : apps) { - m_system_menu->add_item(make(*m_system_menu, appIndex++, app.description)); + m_system_menu->add_item(make(*m_system_menu, appIndex++, app.description, String(), true, false, false, load_png(app.icon_path))); } m_system_menu->add_item(make(*m_system_menu, WSMenuItem::Separator));