/** * @file run.cpp * @author apio (cloudapio.eu) * @brief Tiny command-line utility to start a detached program in the current GUI session. * * @copyright Copyright (c) 2024, the Luna authors. * */ #include #include #include #include Result luna_main(int argc, char** argv) { StringView program; os::ArgumentParser parser; parser.add_description("Start a detached program in the current GUI session."_sv); parser.add_system_program_info("run"_sv); parser.add_positional_argument(program, "program", true); parser.parse(argc, argv); OwnedPtr launcher_client = TRY(os::IPC::Client::connect("/tmp/execd.sock", false)); os::println("Requesting to start program '%s'...", program.chars()); os::Launcher::LaunchDetachedRequest request; SET_IPC_STRING(request.command, program.chars()); request.search_in_path = true; launcher_client->send_async(request); return 0; }