diff options
author | emersion <contact@emersion.fr> | 2018-11-19 17:56:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-19 17:56:18 +0100 |
commit | bf7af9c690de1da94a5fa258747cd983cb61b707 (patch) | |
tree | 1b731331f1ea6ebb430a9bf4dbc1db482bc7ff5d /sway/commands/bar | |
parent | 67d24e8fc54b9e091533500de22f02302a4c79fc (diff) | |
parent | 4bd46fb079fb5a32ee6eb2b297de273b261a9c71 (diff) |
Merge pull request #3083 from c-edw/feature/StripWorkspaceName
Implement strip_workspace_name.
Diffstat (limited to 'sway/commands/bar')
-rw-r--r-- | sway/commands/bar/strip_workspace_name.c | 32 | ||||
-rw-r--r-- | sway/commands/bar/strip_workspace_numbers.c | 17 |
2 files changed, 42 insertions, 7 deletions
diff --git a/sway/commands/bar/strip_workspace_name.c b/sway/commands/bar/strip_workspace_name.c new file mode 100644 index 00000000..79692f6e --- /dev/null +++ b/sway/commands/bar/strip_workspace_name.c @@ -0,0 +1,32 @@ +#include <string.h> +#include <strings.h> +#include "sway/commands.h" +#include "log.h" +#include "util.h" + +struct cmd_results *bar_cmd_strip_workspace_name(int argc, char **argv) { + struct cmd_results *error = NULL; + if ((error = checkarg(argc, + "strip_workspace_name", EXPECTED_EQUAL_TO, 1))) { + return error; + } + if (!config->current_bar) { + return cmd_results_new(CMD_FAILURE, + "strip_workspace_name", "No bar defined."); + } + + config->current_bar->strip_workspace_name = + parse_boolean(argv[0], config->current_bar->strip_workspace_name); + + if (config->current_bar->strip_workspace_name) { + config->current_bar->strip_workspace_numbers = false; + + wlr_log(WLR_DEBUG, "Stripping workspace name on bar: %s", + config->current_bar->id); + } else { + wlr_log(WLR_DEBUG, "Enabling workspace name on bar: %s", + config->current_bar->id); + } + + return cmd_results_new(CMD_SUCCESS, NULL, NULL); +} diff --git a/sway/commands/bar/strip_workspace_numbers.c b/sway/commands/bar/strip_workspace_numbers.c index 4e47d047..b33d01e5 100644 --- a/sway/commands/bar/strip_workspace_numbers.c +++ b/sway/commands/bar/strip_workspace_numbers.c @@ -2,6 +2,7 @@ #include <strings.h> #include "sway/commands.h" #include "log.h" +#include "util.h" struct cmd_results *bar_cmd_strip_workspace_numbers(int argc, char **argv) { struct cmd_results *error = NULL; @@ -13,17 +14,19 @@ struct cmd_results *bar_cmd_strip_workspace_numbers(int argc, char **argv) { return cmd_results_new(CMD_FAILURE, "strip_workspace_numbers", "No bar defined."); } - if (strcasecmp("yes", argv[0]) == 0) { - config->current_bar->strip_workspace_numbers = true; + + config->current_bar->strip_workspace_numbers = + parse_boolean(argv[0], config->current_bar->strip_workspace_numbers); + + if (config->current_bar->strip_workspace_numbers) { + config->current_bar->strip_workspace_name = false; + wlr_log(WLR_DEBUG, "Stripping workspace numbers on bar: %s", config->current_bar->id); - } else if (strcasecmp("no", argv[0]) == 0) { - config->current_bar->strip_workspace_numbers = false; + } else { wlr_log(WLR_DEBUG, "Enabling workspace numbers on bar: %s", config->current_bar->id); - } else { - return cmd_results_new(CMD_INVALID, - "strip_workspace_numbers", "Invalid value %s", argv[0]); } + return cmd_results_new(CMD_SUCCESS, NULL, NULL); } |