aboutsummaryrefslogtreecommitdiffstats
path: root/sway/ipc-json.c
diff options
context:
space:
mode:
authorLibravatar Simon Ser <contact@emersion.fr>2020-03-05 14:37:32 +0100
committerLibravatar Drew DeVault <sir@cmpwn.com>2020-03-07 00:32:04 +0100
commita2d49099e16ef54a409bb7b42061fd16052cbeb6 (patch)
treeb28df4933852610751b617c018085b33ae7fce89 /sway/ipc-json.c
parentAdd an adaptive_sync output command (diff)
downloadsway-a2d49099e16ef54a409bb7b42061fd16052cbeb6.tar.gz
sway-a2d49099e16ef54a409bb7b42061fd16052cbeb6.tar.zst
sway-a2d49099e16ef54a409bb7b42061fd16052cbeb6.zip
Add adaptive_sync_status to output IPC reply
Diffstat (limited to 'sway/ipc-json.c')
-rw-r--r--sway/ipc-json.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index 7d3091dd..dc3fbc2f 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -85,6 +85,19 @@ static const char *ipc_json_output_transform_description(enum wl_output_transfor
85 return NULL; 85 return NULL;
86} 86}
87 87
88static const char *ipc_json_output_adaptive_sync_status_description(
89 enum wlr_output_adaptive_sync_status status) {
90 switch (status) {
91 case WLR_OUTPUT_ADAPTIVE_SYNC_DISABLED:
92 return "disabled";
93 case WLR_OUTPUT_ADAPTIVE_SYNC_ENABLED:
94 return "enabled";
95 case WLR_OUTPUT_ADAPTIVE_SYNC_UNKNOWN:
96 return "unknown";
97 }
98 return NULL;
99}
100
88#if HAVE_XWAYLAND 101#if HAVE_XWAYLAND
89static const char *ipc_json_xwindow_type_description(struct sway_view *view) { 102static const char *ipc_json_xwindow_type_description(struct sway_view *view) {
90 struct wlr_xwayland_surface *surface = view->wlr_xwayland_surface; 103 struct wlr_xwayland_surface *surface = view->wlr_xwayland_surface;
@@ -219,6 +232,11 @@ static void ipc_json_describe_output(struct sway_output *output,
219 json_object_object_add(object, "transform", 232 json_object_object_add(object, "transform",
220 json_object_new_string( 233 json_object_new_string(
221 ipc_json_output_transform_description(wlr_output->transform))); 234 ipc_json_output_transform_description(wlr_output->transform)));
235 const char *adaptive_sync_status =
236 ipc_json_output_adaptive_sync_status_description(
237 wlr_output->adaptive_sync_status);
238 json_object_object_add(object, "adaptive_sync_status",
239 json_object_new_string(adaptive_sync_status));
222 240
223 struct sway_workspace *ws = output_get_active_workspace(output); 241 struct sway_workspace *ws = output_get_active_workspace(output);
224 if (!sway_assert(ws, "Expected output to have a workspace")) { 242 if (!sway_assert(ws, "Expected output to have a workspace")) {