diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index cfe1853d..d9c430f8 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -40,3 +40,4 @@ luna_app(kill.cpp kill) luna_app(gol.cpp gol) luna_app(touch.cpp touch) luna_app(free.cpp free) +luna_app(gclient.cpp gclient) diff --git a/apps/gclient.cpp b/apps/gclient.cpp new file mode 100644 index 00000000..aeb0a9b2 --- /dev/null +++ b/apps/gclient.cpp @@ -0,0 +1,20 @@ +#include +#include + +Result luna_main(int argc, char** argv) +{ + StringView socket_path = "/tmp/wind.sock"; + + os::ArgumentParser parser; + parser.add_description("A graphical user interface client."_sv); + parser.add_system_program_info("gclient"_sv); + parser.add_value_argument(socket_path, 's', "socket"_sv, "the path for the local IPC socket"_sv); + parser.parse(argc, argv); + + auto client = TRY(os::LocalClient::connect(socket_path, false)); + + StringView message = "hello"; + TRY(client->send((const u8*)message.chars(), message.length())); + + return 0; +}