diff options
Diffstat (limited to 'sway/commands/bar/hidden_state.c')
-rw-r--r-- | sway/commands/bar/hidden_state.c | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/sway/commands/bar/hidden_state.c b/sway/commands/bar/hidden_state.c index 502ce2c4..28adf6c7 100644 --- a/sway/commands/bar/hidden_state.c +++ b/sway/commands/bar/hidden_state.c | |||
@@ -32,7 +32,7 @@ static struct cmd_results *bar_set_hidden_state(struct bar_config *bar, | |||
32 | } | 32 | } |
33 | // free old mode | 33 | // free old mode |
34 | free(old_state); | 34 | free(old_state); |
35 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 35 | return NULL; |
36 | } | 36 | } |
37 | 37 | ||
38 | struct cmd_results *bar_cmd_hidden_state(int argc, char **argv) { | 38 | struct cmd_results *bar_cmd_hidden_state(int argc, char **argv) { |
@@ -50,24 +50,20 @@ struct cmd_results *bar_cmd_hidden_state(int argc, char **argv) { | |||
50 | 50 | ||
51 | const char *state = argv[0]; | 51 | const char *state = argv[0]; |
52 | if (config->reading) { | 52 | if (config->reading) { |
53 | return bar_set_hidden_state(config->current_bar, state); | 53 | error = bar_set_hidden_state(config->current_bar, state); |
54 | } | 54 | } else { |
55 | 55 | const char *id = argc == 2 ? argv[1] : NULL; | |
56 | const char *id = NULL; | 56 | for (int i = 0; i < config->bars->length; ++i) { |
57 | if (argc == 2) { | 57 | struct bar_config *bar = config->bars->items[i]; |
58 | id = argv[1]; | 58 | if (id) { |
59 | } | 59 | if (strcmp(id, bar->id) == 0) { |
60 | struct bar_config *bar; | 60 | error = bar_set_hidden_state(bar, state); |
61 | for (int i = 0; i < config->bars->length; ++i) { | 61 | break; |
62 | bar = config->bars->items[i]; | 62 | } |
63 | if (id && strcmp(id, bar->id) == 0) { | 63 | } else if ((error = bar_set_hidden_state(bar, state))) { |
64 | return bar_set_hidden_state(bar, state); | 64 | break; |
65 | } | 65 | } |
66 | |||
67 | error = bar_set_hidden_state(bar, state); | ||
68 | if (error) { | ||
69 | return error; | ||
70 | } | 66 | } |
71 | } | 67 | } |
72 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 68 | return error ? error : cmd_results_new(CMD_SUCCESS, NULL, NULL); |
73 | } | 69 | } |