diff options
| author | Federico Angelilli <code@fedang.net> | 2024-02-10 23:32:31 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-02-10 23:32:31 +0100 |
| commit | f459a5088528ecd0a19716ce5a4432c8a86a994a (patch) | |
| tree | 9fa1b6884a2f57d1ad9139a7facc343860b2577c /src | |
| parent | e191f7cb1eaae0cb79f06a78ccd7e2edf0c3419c (diff) | |
Update dwm code
Diffstat (limited to 'src')
| -rw-r--r-- | src/dwm.c | 43 |
1 files changed, 27 insertions, 16 deletions
@@ -154,6 +154,8 @@ static void ipc_run_command(DwmIpc *dwm, const char *cmd, JsonNode **args) g_free(msg); } +#define JSON_FIELD(reader, member) (json_reader_end_member(reader), json_reader_read_member(reader, member)) + static void ipc_handle(DwmIpc *dwm, DwmIpcMessage type, char *reply, uint32_t reply_size) { GError *error = NULL; @@ -173,9 +175,9 @@ static void ipc_handle(DwmIpc *dwm, DwmIpcMessage type, char *reply, uint32_t re json_reader_read_member(reader, "new_state"); json_reader_read_member(reader, "selected"); long selected = json_reader_get_int_value(reader); - json_reader_end_member (reader); - json_reader_end_member (reader); - json_reader_end_member (reader); + json_reader_end_member(reader); + json_reader_end_member(reader); + json_reader_end_member(reader); log_debug("Selected tag mask: %ld", selected); @@ -185,36 +187,40 @@ static void ipc_handle(DwmIpc *dwm, DwmIpcMessage type, char *reply, uint32_t re state_redraw(dwm->state, false); } - } else if (json_reader_read_member(reader, IPC_EVENT_CLIENT_FOCUS_CHANGE)) { - log_info("Ignoring dwm ipc event [event=%s]", IPC_EVENT_CLIENT_FOCUS_CHANGE); + } else if (JSON_FIELD(reader, IPC_EVENT_CLIENT_FOCUS_CHANGE)) { + log_debug("Ignoring dwm ipc event [event=%s]", IPC_EVENT_CLIENT_FOCUS_CHANGE); // TODO - } else if (json_reader_read_member(reader, IPC_EVENT_LAYOUT_CHANGE)) { - log_info("Ignoring dwm ipc event [event=%s]", IPC_EVENT_LAYOUT_CHANGE); + } else if (JSON_FIELD(reader, IPC_EVENT_LAYOUT_CHANGE)) { + log_debug("Ignoring dwm ipc event [event=%s]", IPC_EVENT_LAYOUT_CHANGE); // TODO - } else if (json_reader_read_member(reader, IPC_EVENT_MONITOR_FOCUS_CHANGE)) { - log_info("Ignoring dwm ipc event [event=%s]", IPC_EVENT_MONITOR_FOCUS_CHANGE); + } else if (JSON_FIELD(reader, IPC_EVENT_MONITOR_FOCUS_CHANGE)) { + log_debug("Ignoring dwm ipc event [event=%s]", IPC_EVENT_MONITOR_FOCUS_CHANGE); // TODO - } else if (json_reader_read_member(reader, IPC_EVENT_FOCUSED_TITLE_CHANGE)) { - log_info("Ignoring dwm ipc event [event=%s]", IPC_EVENT_FOCUSED_TITLE_CHANGE); + } else if (JSON_FIELD(reader, IPC_EVENT_FOCUSED_TITLE_CHANGE)) { + log_debug("Ignoring dwm ipc event [event=%s]", IPC_EVENT_FOCUSED_TITLE_CHANGE); // TODO - } else if (json_reader_read_member(reader, IPC_EVENT_FOCUSED_STATE_CHANGE)) { - log_info("Ignoring dwm ipc event [event=%s]", IPC_EVENT_FOCUSED_STATE_CHANGE); + } else if (JSON_FIELD(reader, IPC_EVENT_FOCUSED_STATE_CHANGE)) { + log_debug("Ignoring dwm ipc event [event=%s]", IPC_EVENT_FOCUSED_STATE_CHANGE); // TODO } else { - log_warning("Unrecognized dwm ipc event"); + const char *event = "?"; + if (json_reader_read_element(reader, 0)) + event = json_reader_get_string_value(reader); + + log_warning("Unrecognized dwm ipc event: %s", event); } } else { log_debug("Ignoring dwm ipc message [type=%d]", type); //log_debug("%s", reply); } - g_object_unref (reader); - g_object_unref (parser); + g_object_unref(reader); + g_object_unref(parser); } static gboolean socket_callback(GSocket *socket, GIOCondition condition, gpointer data) @@ -285,6 +291,11 @@ DwmIpc *dwm_create(State *state, const char *socket) const char *events[] = { IPC_EVENT_TAG_CHANGE, + IPC_EVENT_CLIENT_FOCUS_CHANGE, + IPC_EVENT_LAYOUT_CHANGE, + IPC_EVENT_MONITOR_FOCUS_CHANGE, + IPC_EVENT_FOCUSED_TITLE_CHANGE, + IPC_EVENT_FOCUSED_STATE_CHANGE, }; for (int i = 0; i < G_N_ELEMENTS(events); ++i) ipc_subscribe(dwm, events[i]); |
