diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-10 15:37:24 -0500 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-02-11 01:07:11 +0100 |
commit | a64a3ee6bbd3b880c32bbd9c9a38420d04748dd2 (patch) | |
tree | f76005c6ef9cd50c253c62a1aee992d0ecce6f04 | |
parent | 418c19fe528190918d41aefed46abe02c8b6834f (diff) |
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.c | 2 | ||||
-rw-r--r-- | swaymsg/main.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sway/ipc-json.c b/sway/ipc-json.c index e1098942..23016dbd 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 c84f5671..716d2d2e 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)) { |