summaryrefslogtreecommitdiffstats
path: root/sway/ipc-json.c
diff options
context:
space:
mode:
authorLibravatar Mihai Coman <mihai.cmn@gmail.com>2018-11-21 15:57:02 +0200
committerLibravatar Mihai Coman <mihai.cmn@gmail.com>2018-11-26 11:15:40 +0200
commit39db9b855d8bd5f4307245ab15e5e91bc621cf94 (patch)
tree29e79ff7aff546a36357060f4965d1d28f1968ee /sway/ipc-json.c
parentIPC: Add scratchpad containers to get_tree reply (diff)
downloadsway-39db9b855d8bd5f4307245ab15e5e91bc621cf94.tar.gz
sway-39db9b855d8bd5f4307245ab15e5e91bc621cf94.tar.zst
sway-39db9b855d8bd5f4307245ab15e5e91bc621cf94.zip
IPC: Use consistent function names across ipc-json
Diffstat (limited to 'sway/ipc-json.c')
-rw-r--r--sway/ipc-json.c129
1 files changed, 69 insertions, 60 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 833d20a1..40fbd3e7 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -35,18 +35,17 @@ static const char *ipc_json_layout_description(enum sway_container_layout l) {
35} 35}
36 36
37static const char *ipc_json_orientation_description(enum sway_container_layout l) { 37static const char *ipc_json_orientation_description(enum sway_container_layout l) {
38 if (l == L_VERT) { 38 switch (l) {
39 case L_VERT:
39 return "vertical"; 40 return "vertical";
40 } 41 case L_HORIZ:
41
42 if (l == L_HORIZ) {
43 return "horizontal"; 42 return "horizontal";
43 default:
44 return "none";
44 } 45 }
45
46 return "none";
47} 46}
48 47
49static const char *describe_container_border(enum sway_container_border border) { 48static const char *ipc_json_border_description(enum sway_container_border border) {
50 switch (border) { 49 switch (border) {
51 case B_NONE: 50 case B_NONE:
52 return "none"; 51 return "none";
@@ -60,6 +59,44 @@ static const char *describe_container_border(enum sway_container_border border)
60 return "unknown"; 59 return "unknown";
61} 60}
62 61
62static const char *ipc_json_output_transform_description(enum wl_output_transform transform) {
63 switch (transform) {
64 case WL_OUTPUT_TRANSFORM_NORMAL:
65 return "normal";
66 case WL_OUTPUT_TRANSFORM_90:
67 return "90";
68 case WL_OUTPUT_TRANSFORM_180:
69 return "180";
70 case WL_OUTPUT_TRANSFORM_270:
71 return "270";
72 case WL_OUTPUT_TRANSFORM_FLIPPED:
73 return "flipped";
74 case WL_OUTPUT_TRANSFORM_FLIPPED_90:
75 return "flipped-90";
76 case WL_OUTPUT_TRANSFORM_FLIPPED_180:
77 return "flipped-180";
78 case WL_OUTPUT_TRANSFORM_FLIPPED_270:
79 return "flipped-270";
80 }
81 return NULL;
82}
83
84static const char *ipc_json_device_type_description(struct sway_input_device *device) {
85 switch (device->wlr_device->type) {
86 case WLR_INPUT_DEVICE_POINTER:
87 return "pointer";
88 case WLR_INPUT_DEVICE_KEYBOARD:
89 return "keyboard";
90 case WLR_INPUT_DEVICE_TOUCH:
91 return "touch";
92 case WLR_INPUT_DEVICE_TABLET_TOOL:
93 return "tablet_tool";
94 case WLR_INPUT_DEVICE_TABLET_PAD:
95 return "tablet_pad";
96 }
97 return "unknown";
98}
99
63json_object *ipc_json_get_version(void) { 100json_object *ipc_json_get_version(void) {
64 int major = 0, minor = 0, patch = 0; 101 int major = 0, minor = 0, patch = 0;
65 json_object *version = json_object_new_object(); 102 json_object *version = json_object_new_object();
@@ -106,12 +143,16 @@ static json_object *ipc_json_create_node(int id, char *name,
106 143
107 // set default values to be compatible with i3 144 // set default values to be compatible with i3
108 json_object_object_add(object, "border", 145 json_object_object_add(object, "border",
109 json_object_new_string(describe_container_border(B_NONE))); 146 json_object_new_string(
110 json_object_object_add(object, "current_border_width", json_object_new_int(0)); 147 ipc_json_border_description(B_NONE)));
148 json_object_object_add(object, "current_border_width",
149 json_object_new_int(0));
111 json_object_object_add(object, "layout", 150 json_object_object_add(object, "layout",
112 json_object_new_string(ipc_json_layout_description(L_HORIZ))); 151 json_object_new_string(
152 ipc_json_layout_description(L_HORIZ)));
113 json_object_object_add(object, "orientation", 153 json_object_object_add(object, "orientation",
114 json_object_new_string(ipc_json_orientation_description(L_HORIZ))); 154 json_object_new_string(
155 ipc_json_orientation_description(L_HORIZ)));
115 json_object_object_add(object, "percent", NULL); 156 json_object_object_add(object, "percent", NULL);
116 json_object_object_add(object, "window_rect", ipc_json_create_empty_rect()); 157 json_object_object_add(object, "window_rect", ipc_json_create_empty_rect());
117 json_object_object_add(object, "deco_rect", ipc_json_create_empty_rect()); 158 json_object_object_add(object, "deco_rect", ipc_json_create_empty_rect());
@@ -128,28 +169,6 @@ static void ipc_json_describe_root(struct sway_root *root, json_object *object)
128 json_object_object_add(object, "type", json_object_new_string("root")); 169 json_object_object_add(object, "type", json_object_new_string("root"));
129} 170}
130 171
131static const char *ipc_json_get_output_transform(enum wl_output_transform transform) {
132 switch (transform) {
133 case WL_OUTPUT_TRANSFORM_NORMAL:
134 return "normal";
135 case WL_OUTPUT_TRANSFORM_90:
136 return "90";
137 case WL_OUTPUT_TRANSFORM_180:
138 return "180";
139 case WL_OUTPUT_TRANSFORM_270:
140 return "270";
141 case WL_OUTPUT_TRANSFORM_FLIPPED:
142 return "flipped";
143 case WL_OUTPUT_TRANSFORM_FLIPPED_90:
144 return "flipped-90";
145 case WL_OUTPUT_TRANSFORM_FLIPPED_180:
146 return "flipped-180";
147 case WL_OUTPUT_TRANSFORM_FLIPPED_270:
148 return "flipped-270";
149 }
150 return NULL;
151}
152
153static void ipc_json_describe_output(struct sway_output *output, 172static void ipc_json_describe_output(struct sway_output *output,
154 json_object *object) { 173 json_object *object) {
155 struct wlr_output *wlr_output = output->wlr_output; 174 struct wlr_output *wlr_output = output->wlr_output;
@@ -158,7 +177,8 @@ static void ipc_json_describe_output(struct sway_output *output,
158 json_object_object_add(object, "primary", json_object_new_boolean(false)); 177 json_object_object_add(object, "primary", json_object_new_boolean(false));
159 json_object_object_add(object, "layout", json_object_new_string("output")); 178 json_object_object_add(object, "layout", json_object_new_string("output"));
160 json_object_object_add(object, "orientation", 179 json_object_object_add(object, "orientation",
161 json_object_new_string(ipc_json_orientation_description(L_NONE))); 180 json_object_new_string(
181 ipc_json_orientation_description(L_NONE)));
162 json_object_object_add(object, "make", 182 json_object_object_add(object, "make",
163 json_object_new_string(wlr_output->make)); 183 json_object_new_string(wlr_output->make));
164 json_object_object_add(object, "model", 184 json_object_object_add(object, "model",
@@ -169,7 +189,7 @@ static void ipc_json_describe_output(struct sway_output *output,
169 json_object_new_double(wlr_output->scale)); 189 json_object_new_double(wlr_output->scale));
170 json_object_object_add(object, "transform", 190 json_object_object_add(object, "transform",
171 json_object_new_string( 191 json_object_new_string(
172 ipc_json_get_output_transform(wlr_output->transform))); 192 ipc_json_output_transform_description(wlr_output->transform)));
173 193
174 struct sway_workspace *ws = output_get_active_workspace(output); 194 struct sway_workspace *ws = output_get_active_workspace(output);
175 json_object_object_add(object, "current_workspace", 195 json_object_object_add(object, "current_workspace",
@@ -294,11 +314,12 @@ static void ipc_json_describe_workspace(struct sway_workspace *workspace,
294 json_object_object_add(object, "representation", workspace->representation ? 314 json_object_object_add(object, "representation", workspace->representation ?
295 json_object_new_string(workspace->representation) : NULL); 315 json_object_new_string(workspace->representation) : NULL);
296 316
297 const char *layout = ipc_json_layout_description(workspace->layout); 317 json_object_object_add(object, "layout",
298 json_object_object_add(object, "layout", json_object_new_string(layout)); 318 json_object_new_string(
299 319 ipc_json_layout_description(workspace->layout)));
300 const char *orientation = ipc_json_orientation_description(workspace->layout); 320 json_object_object_add(object, "orientation",
301 json_object_object_add(object, "orientation", json_object_new_string(orientation)); 321 json_object_new_string(
322 ipc_json_orientation_description(workspace->layout)));
302 323
303 // Floating 324 // Floating
304 json_object *floating_array = json_object_new_array(); 325 json_object *floating_array = json_object_new_array();
@@ -387,10 +408,12 @@ static void ipc_json_describe_container(struct sway_container *c, json_object *o
387 json_object_new_string(container_is_floating(c) ? "floating_con" : "con")); 408 json_object_new_string(container_is_floating(c) ? "floating_con" : "con"));
388 409
389 json_object_object_add(object, "layout", 410 json_object_object_add(object, "layout",
390 json_object_new_string(ipc_json_layout_description(c->layout))); 411 json_object_new_string(
412 ipc_json_layout_description(c->layout)));
391 413
392 json_object_object_add(object, "orientation", 414 json_object_object_add(object, "orientation",
393 json_object_new_string(ipc_json_orientation_description(c->layout))); 415 json_object_new_string(
416 ipc_json_orientation_description(c->layout)));
394 417
395 bool urgent = c->view ? 418 bool urgent = c->view ?
396 view_is_urgent(c->view) : container_has_urgent_child(c); 419 view_is_urgent(c->view) : container_has_urgent_child(c);
@@ -411,7 +434,8 @@ static void ipc_json_describe_container(struct sway_container *c, json_object *o
411 } 434 }
412 435
413 json_object_object_add(object, "border", 436 json_object_object_add(object, "border",
414 json_object_new_string(describe_container_border(c->current.border))); 437 json_object_new_string(
438 ipc_json_border_description(c->current.border)));
415 json_object_object_add(object, "current_border_width", 439 json_object_object_add(object, "current_border_width",
416 json_object_new_int(c->current.border_thickness)); 440 json_object_new_int(c->current.border_thickness));
417 json_object_object_add(object, "floating_nodes", json_object_new_array()); 441 json_object_object_add(object, "floating_nodes", json_object_new_array());
@@ -530,22 +554,6 @@ json_object *ipc_json_describe_node_recursive(struct sway_node *node) {
530 return object; 554 return object;
531} 555}
532 556
533static const char *describe_device_type(struct sway_input_device *device) {
534 switch (device->wlr_device->type) {
535 case WLR_INPUT_DEVICE_POINTER:
536 return "pointer";
537 case WLR_INPUT_DEVICE_KEYBOARD:
538 return "keyboard";
539 case WLR_INPUT_DEVICE_TOUCH:
540 return "touch";
541 case WLR_INPUT_DEVICE_TABLET_TOOL:
542 return "tablet_tool";
543 case WLR_INPUT_DEVICE_TABLET_PAD:
544 return "tablet_pad";
545 }
546 return "unknown";
547}
548
549json_object *ipc_json_describe_input(struct sway_input_device *device) { 557json_object *ipc_json_describe_input(struct sway_input_device *device) {
550 if (!(sway_assert(device, "Device must not be null"))) { 558 if (!(sway_assert(device, "Device must not be null"))) {
551 return NULL; 559 return NULL;
@@ -562,7 +570,8 @@ json_object *ipc_json_describe_input(struct sway_input_device *device) {
562 json_object_object_add(object, "product", 570 json_object_object_add(object, "product",
563 json_object_new_int(device->wlr_device->product)); 571 json_object_new_int(device->wlr_device->product));
564 json_object_object_add(object, "type", 572 json_object_object_add(object, "type",
565 json_object_new_string(describe_device_type(device))); 573 json_object_new_string(
574 ipc_json_device_type_description(device)));
566 575
567 if (device->wlr_device->type == WLR_INPUT_DEVICE_KEYBOARD) { 576 if (device->wlr_device->type == WLR_INPUT_DEVICE_KEYBOARD) {
568 struct wlr_keyboard *keyboard = device->wlr_device->keyboard; 577 struct wlr_keyboard *keyboard = device->wlr_device->keyboard;