From f53392da540edf0adbc643f67c60cae3a790b993 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 24 May 2026 16:30:16 +0800 Subject: [PATCH] fix wathc all-monitors not show in first run --- src/ipc/ipc.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/ipc/ipc.h b/src/ipc/ipc.h index 570247e2..59247ddc 100644 --- a/src/ipc/ipc.h +++ b/src/ipc/ipc.h @@ -529,6 +529,36 @@ static bool handle_watch_command(int fd, const char *cmd, } break; } + case IPC_WATCH_ALL_MONITORS: { + cJSON *arr = cJSON_CreateArray(); + Monitor *m; + wl_list_for_each(m, &mons, link) { + cJSON *mobj = cJSON_CreateObject(); + cJSON_AddStringToObject(mobj, "name", m->wlr_output->name); + cJSON_AddBoolToObject(mobj, "active", m == selmon); + cJSON_AddNumberToObject(mobj, "x", m->m.x); + cJSON_AddNumberToObject(mobj, "y", m->m.y); + cJSON_AddNumberToObject(mobj, "width", m->w.width); + cJSON_AddNumberToObject(mobj, "height", m->w.height); + cJSON_AddNumberToObject(mobj, "scale", m->wlr_output->scale); + cJSON_AddNumberToObject(mobj, "layout_index", + m->pertag->ltidxs[m->pertag->curtag]->id); + cJSON_AddStringToObject( + mobj, "layout_symbol", + m->pertag->ltidxs[m->pertag->curtag]->symbol); + cJSON_AddStringToObject(mobj, "last_surface_ws_name", + m->last_surface_ws_name); + cJSON_AddItemToObject(mobj, "tags", build_tags_json(m)); + cJSON_AddItemToObject(mobj, "active_tags", monitor_active_tags(m)); + cJSON_AddItemToArray(arr, mobj); + } + cJSON *json = cJSON_CreateObject(); + cJSON_AddItemToObject(json, "monitors", arr); + ipc_notify_json_to_fd(fd, json); + cJSON_Delete(json); + break; + } + case IPC_WATCH_ALL_TAGS: { cJSON *arr = cJSON_CreateArray(); Monitor *m;