diff options
-rw-r--r-- | swaybar/bar.c | 9 | ||||
-rw-r--r-- | swaybar/status_line.c | 3 |
2 files changed, 8 insertions, 4 deletions
diff --git a/swaybar/bar.c b/swaybar/bar.c index f4dd4405..231c1ad7 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c | |||
@@ -413,10 +413,6 @@ bool bar_setup(struct swaybar *bar, const char *socket_path) { | |||
413 | if (!ipc_initialize(bar)) { | 413 | if (!ipc_initialize(bar)) { |
414 | return false; | 414 | return false; |
415 | } | 415 | } |
416 | if (bar->config->status_command) { | ||
417 | bar->status = status_line_init(bar->config->status_command); | ||
418 | bar->status->bar = bar; | ||
419 | } | ||
420 | 416 | ||
421 | bar->display = wl_display_connect(NULL); | 417 | bar->display = wl_display_connect(NULL); |
422 | if (!bar->display) { | 418 | if (!bar->display) { |
@@ -445,6 +441,11 @@ bool bar_setup(struct swaybar *bar, const char *socket_path) { | |||
445 | assert(pointer->cursor_surface); | 441 | assert(pointer->cursor_surface); |
446 | } | 442 | } |
447 | 443 | ||
444 | if (bar->config->status_command) { | ||
445 | bar->status = status_line_init(bar->config->status_command); | ||
446 | bar->status->bar = bar; | ||
447 | } | ||
448 | |||
448 | #if HAVE_TRAY | 449 | #if HAVE_TRAY |
449 | if (!bar->config->tray_hidden) { | 450 | if (!bar->config->tray_hidden) { |
450 | bar->tray = create_tray(bar); | 451 | bar->tray = create_tray(bar); |
diff --git a/swaybar/status_line.c b/swaybar/status_line.c index fb9271f8..71ceb1d0 100644 --- a/swaybar/status_line.c +++ b/swaybar/status_line.c | |||
@@ -1,4 +1,5 @@ | |||
1 | #define _POSIX_C_SOURCE 200809L | 1 | #define _POSIX_C_SOURCE 200809L |
2 | #include <assert.h> | ||
2 | #include <fcntl.h> | 3 | #include <fcntl.h> |
3 | #include <sys/ioctl.h> | 4 | #include <sys/ioctl.h> |
4 | #include <json.h> | 5 | #include <json.h> |
@@ -153,6 +154,8 @@ struct status_line *status_line_init(char *cmd) { | |||
153 | exit(1); | 154 | exit(1); |
154 | } | 155 | } |
155 | 156 | ||
157 | assert(!getenv("WAYLAND_SOCKET") && "display must be initialized before " | ||
158 | " starting `status-command`; WAYLAND_SOCKET should not be set"); | ||
156 | status->pid = fork(); | 159 | status->pid = fork(); |
157 | if (status->pid == 0) { | 160 | if (status->pid == 0) { |
158 | dup2(pipe_read_fd[1], STDOUT_FILENO); | 161 | dup2(pipe_read_fd[1], STDOUT_FILENO); |