From 41bfd8c790e6c34dfee9c0135b2455f4ba34c619 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Mon, 8 Oct 2018 21:40:09 +1000 Subject: [PATCH] swaybar: allow null status_command Sway sets a default status_command which runs date every second. This patch removes this behaviour so the user can have a NULL status bar if desired. I had to swap swaybar's event_loop_poll and wl_display_flush so that it would map the initial surface. --- sway/config/bar.c | 4 ---- sway/ipc-json.c | 4 ++-- swaybar/bar.c | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/sway/config/bar.c b/sway/config/bar.c index 48a632fbb..b86957986 100644 --- a/sway/config/bar.c +++ b/sway/config/bar.c @@ -99,10 +99,6 @@ struct bar_config *default_bar_config(void) { if (!(bar->bindings = create_list())) { goto cleanup; } - if (!(bar->status_command = - strdup("while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done"))) { - goto cleanup; - } // set default colors if (!(bar->colors.background = strndup("#000000ff", 9))) { goto cleanup; diff --git a/sway/ipc-json.c b/sway/ipc-json.c index 7c5a0a5df..f02f370b2 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c @@ -514,8 +514,8 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) { json_object_new_string(bar->hidden_state)); json_object_object_add(json, "position", json_object_new_string(bar->position)); - json_object_object_add(json, "status_command", - json_object_new_string(bar->status_command)); + json_object_object_add(json, "status_command", bar->status_command ? + json_object_new_string(bar->status_command) : NULL); json_object_object_add(json, "font", json_object_new_string((bar->font) ? bar->font : config->font)); if (bar->separator_symbol) { diff --git a/swaybar/bar.c b/swaybar/bar.c index c86e71b86..3990f1ca1 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c @@ -572,8 +572,8 @@ void bar_run(struct swaybar *bar) { add_event(bar->status->read_fd, POLLIN, status_in, bar); } while (1) { - event_loop_poll(); wl_display_flush(bar->display); + event_loop_poll(); } }