diff options
Diffstat (limited to 'Userland/Services/SystemMenu/main.cpp')
-rw-r--r-- | Userland/Services/SystemMenu/main.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Userland/Services/SystemMenu/main.cpp b/Userland/Services/SystemMenu/main.cpp index 7181b39095..8bde6872a5 100644 --- a/Userland/Services/SystemMenu/main.cpp +++ b/Userland/Services/SystemMenu/main.cpp @@ -202,6 +202,16 @@ NonnullRefPtr<GUI::Menu> build_system_menu() } system_menu->add_separator(); + system_menu->add_action(GUI::Action::create("Run...", Gfx::Bitmap::load_from_file("/res/icons/16x16/app-run.png"), [](auto&) { + pid_t child_pid; + const char* argv[] = { "/bin/Run", nullptr }; + if ((errno = posix_spawn(&child_pid, "/bin/Run", nullptr, nullptr, const_cast<char**>(argv), environ))) { + perror("posix_spawn"); + } else { + if (disown(child_pid) < 0) + perror("disown"); + } + })); system_menu->add_action(GUI::Action::create("About SerenityOS", Gfx::Bitmap::load_from_file("/res/icons/16x16/ladybug.png"), [](auto&) { pid_t child_pid; const char* argv[] = { "/bin/About", nullptr }; |