X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fipc.h;h=e9358ee58b78d2e8e6d21c6bb8f268d950900fa1;hb=294d52e0180ea81bd18606fa604486026855691a;hp=2c25b4e9b84114181e6bb36a39135114669f83e4;hpb=00ee86de79800d80cacc014b53b47585eacdb90b;p=i3%2Fi3 diff --git a/include/ipc.h b/include/ipc.h index 2c25b4e9..e9358ee5 100644 --- a/include/ipc.h +++ b/include/ipc.h @@ -16,19 +16,20 @@ #include "data.h" #include "tree.h" +#include "config.h" #include "i3/ipc.h" extern char *current_socketpath; typedef struct ipc_client { - int fd; + int fd; - /* The events which this client wants to receive */ - int num_events; - char **events; + /* The events which this client wants to receive */ + int num_events; + char **events; - TAILQ_ENTRY(ipc_client) clients; + TAILQ_ENTRY(ipc_client) clients; } ipc_client; /* @@ -41,13 +42,19 @@ typedef struct ipc_client { * message_type is the type of the message as the sender specified it. * */ -typedef void(*handler_t)(int, uint8_t*, int, uint32_t, uint32_t); +typedef void (*handler_t)(int, uint8_t *, int, uint32_t, uint32_t); /* Macro to declare a callback */ -#define IPC_HANDLER(name) \ - static void handle_ ## name (int fd, uint8_t *message, \ - int size, uint32_t message_size, \ - uint32_t message_type) +#define IPC_HANDLER(name) \ + static void handle_##name(int fd, uint8_t *message, \ + int size, uint32_t message_size, \ + uint32_t message_type) + +/** + * Emulates mkdir -p (creates any missing folders) + * + */ +bool mkdirp(const char *path); /** * Handler for activity on the listening socket, meaning that a new client @@ -93,3 +100,8 @@ void ipc_send_workspace_focus_event(Con *current, Con *old); * also the window container, in "container". */ void ipc_send_window_event(const char *property, Con *con); + +/** + * For the barconfig update events, we send the serialized barconfig. + */ +void ipc_send_barconfig_update_event(Barconfig *barconfig);