diff options
Diffstat (limited to 'sway/commands/bar')
-rw-r--r-- | sway/commands/bar/hidden_state.c | 34 | ||||
-rw-r--r-- | sway/commands/bar/id.c | 2 | ||||
-rw-r--r-- | sway/commands/bar/mode.c | 34 | ||||
-rw-r--r-- | sway/commands/bar/status_command.c | 2 |
4 files changed, 33 insertions, 39 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 | } |
diff --git a/sway/commands/bar/id.c b/sway/commands/bar/id.c index 65fa69fd..7690a852 100644 --- a/sway/commands/bar/id.c +++ b/sway/commands/bar/id.c | |||
@@ -13,6 +13,8 @@ struct cmd_results *bar_cmd_id(int argc, char **argv) { | |||
13 | const char *oldname = config->current_bar->id; | 13 | const char *oldname = config->current_bar->id; |
14 | if (strcmp(name, oldname) == 0) { | 14 | if (strcmp(name, oldname) == 0) { |
15 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); // NOP | 15 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); // NOP |
16 | } else if (strcmp(name, "id") == 0) { | ||
17 | return cmd_results_new(CMD_INVALID, "id", "id cannot be 'id'"); | ||
16 | } | 18 | } |
17 | // check if id is used by a previously defined bar | 19 | // check if id is used by a previously defined bar |
18 | for (int i = 0; i < config->bars->length; ++i) { | 20 | for (int i = 0; i < config->bars->length; ++i) { |
diff --git a/sway/commands/bar/mode.c b/sway/commands/bar/mode.c index 28e2d77b..dbdd3897 100644 --- a/sway/commands/bar/mode.c +++ b/sway/commands/bar/mode.c | |||
@@ -33,7 +33,7 @@ static struct cmd_results *bar_set_mode(struct bar_config *bar, const char *mode | |||
33 | 33 | ||
34 | // free old mode | 34 | // free old mode |
35 | free(old_mode); | 35 | free(old_mode); |
36 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 36 | return NULL; |
37 | } | 37 | } |
38 | 38 | ||
39 | struct cmd_results *bar_cmd_mode(int argc, char **argv) { | 39 | struct cmd_results *bar_cmd_mode(int argc, char **argv) { |
@@ -51,24 +51,20 @@ struct cmd_results *bar_cmd_mode(int argc, char **argv) { | |||
51 | 51 | ||
52 | const char *mode = argv[0]; | 52 | const char *mode = argv[0]; |
53 | if (config->reading) { | 53 | if (config->reading) { |
54 | return bar_set_mode(config->current_bar, mode); | 54 | error = bar_set_mode(config->current_bar, mode); |
55 | } | 55 | } else { |
56 | 56 | const char *id = argc == 2 ? argv[1] : NULL; | |
57 | const char *id = NULL; | 57 | for (int i = 0; i < config->bars->length; ++i) { |
58 | if (argc == 2) { | 58 | struct bar_config *bar = config->bars->items[i]; |
59 | id = argv[1]; | 59 | if (id) { |
60 | } | 60 | if (strcmp(id, bar->id) == 0) { |
61 | 61 | error = bar_set_mode(bar, mode); | |
62 | struct bar_config *bar; | 62 | break; |
63 | for (int i = 0; i < config->bars->length; ++i) { | 63 | } |
64 | bar = config->bars->items[i]; | 64 | } else if ((error = bar_set_mode(bar, mode))) { |
65 | if (id && strcmp(id, bar->id) == 0) { | 65 | break; |
66 | return bar_set_mode(bar, mode); | 66 | } |
67 | } | ||
68 | error = bar_set_mode(bar, mode); | ||
69 | if (error) { | ||
70 | return error; | ||
71 | } | 67 | } |
72 | } | 68 | } |
73 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 69 | return error ? error : cmd_results_new(CMD_SUCCESS, NULL, NULL); |
74 | } | 70 | } |
diff --git a/sway/commands/bar/status_command.c b/sway/commands/bar/status_command.c index 5b4fdc87..490393f1 100644 --- a/sway/commands/bar/status_command.c +++ b/sway/commands/bar/status_command.c | |||
@@ -25,7 +25,7 @@ struct cmd_results *bar_cmd_status_command(int argc, char **argv) { | |||
25 | } | 25 | } |
26 | 26 | ||
27 | if (config->active && !config->validating) { | 27 | if (config->active && !config->validating) { |
28 | load_swaybars(); | 28 | load_swaybar(config->current_bar); |
29 | } | 29 | } |
30 | 30 | ||
31 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 31 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |