sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 2289029fabe919c670e19ed24baeac74846bc7b3
parent 357af228d693e64b4ac62ef472b3df65fd25348c
Author: minus <minus@mnus.de>
Date:   Wed, 26 Aug 2015 23:49:38 +0200

added json-c lib and implemented IPC get_version

Diffstat:
MCMakeLists.txt | 4++++
Msway/ipc.c | 13+++++++++++++
2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -22,12 +22,15 @@ find_package(XKBCommon REQUIRED) find_package(WLC REQUIRED) find_package(A2X REQUIRED) find_package(PCRE REQUIRED) +find_package(PkgConfig REQUIRED) +pkg_check_modules(JSON REQUIRED json-c) FILE(GLOB sources ${PROJECT_SOURCE_DIR}/sway/*.c) include_directories( ${WLC_INCLUDE_DIRS} ${PCRE_INCLUDE_DIRS} + ${JSON_INCLUDE_DIRS} include/ ) @@ -39,6 +42,7 @@ target_link_libraries(sway ${WLC_LIBRARIES} ${XKBCOMMON_LIBRARIES} ${PCRE_LIBRARIES} + ${JSON_LIBRARIES} ) INSTALL( diff --git a/sway/ipc.c b/sway/ipc.c @@ -12,6 +12,7 @@ #include <sys/ioctl.h> #include <fcntl.h> #include <ctype.h> +#include <json-c/json.h> #include "ipc.h" #include "log.h" #include "config.h" @@ -226,6 +227,18 @@ void ipc_client_handle_command(struct ipc_client *client) { free(json); break; } + case IPC_GET_VERSION: + { + json_object *json = json_object_new_object(); + json_object_object_add(json, "human_readable", json_object_new_string(SWAY_GIT_VERSION)); + json_object_object_add(json, "major", json_object_new_int(0)); + json_object_object_add(json, "minor", json_object_new_int(0)); + json_object_object_add(json, "patch", json_object_new_int(1)); + const char *json_string = json_object_to_json_string(json); + ipc_send_reply(client, json_string, (uint32_t) strlen(json_string)); + json_object_put(json); // free + break; + } default: sway_log(L_INFO, "Unknown IPC command type %i", client->current_command); ipc_client_disconnect(client);