aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Ashworth <bosrsf04@gmail.com>2019-02-10 15:37:24 -0500
committerDrew DeVault <sir@cmpwn.com>2019-02-11 10:22:53 -0500
commita4d7ee1923e5847829367d741bea8c954034c312 (patch)
treef76005c6ef9cd50c253c62a1aee992d0ecce6f04
parent4e27785980d2d4bb342019e5e31c4441076bf603 (diff)
downloadsway-a4d7ee1923e5847829367d741bea8c954034c312.zip
sway-a4d7ee1923e5847829367d741bea8c954034c312.tar.gz
sway-a4d7ee1923e5847829367d741bea8c954034c312.tar.bz2
ipc: handle unnamed xkb_active_layout_name
If the active xkb_layout does not have a name, use `NULL` instead of `json_object_new_string(NULL)`. This also makes it so swaymsg will pretty print this as `(unnamed)`.
-rw-r--r--sway/ipc-json.c2
-rw-r--r--swaymsg/main.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index e109894..23016db 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -597,7 +597,7 @@ json_object *ipc_json_describe_input(struct sway_input_device *device) {
const char *layout =
xkb_keymap_layout_get_name(keymap, layout_idx);
json_object_object_add(object, "xkb_active_layout_name",
- json_object_new_string(layout));
+ layout ? json_object_new_string(layout) : NULL);
break;
}
}
diff --git a/swaymsg/main.c b/swaymsg/main.c
index c84f567..716d2d2 100644
--- a/swaymsg/main.c
+++ b/swaymsg/main.c
@@ -135,8 +135,8 @@ static void pretty_print_input(json_object *i) {
json_object_get_int(vendor));
if (json_object_object_get_ex(i, "xkb_active_layout_name", &kbdlayout)) {
- printf(" Active Keyboard Layout: %s\n",
- json_object_get_string(kbdlayout));
+ const char *layout = json_object_get_string(kbdlayout);
+ printf(" Active Keyboard Layout: %s\n", layout ? layout : "(unnamed)");
}
if (json_object_object_get_ex(i, "libinput_send_events", &events)) {