aboutsummaryrefslogtreecommitdiff
path: root/sway/commands/bar
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-11-19 17:56:18 +0100
committerGitHub <noreply@github.com>2018-11-19 17:56:18 +0100
commitbf7af9c690de1da94a5fa258747cd983cb61b707 (patch)
tree1b731331f1ea6ebb430a9bf4dbc1db482bc7ff5d /sway/commands/bar
parent67d24e8fc54b9e091533500de22f02302a4c79fc (diff)
parent4bd46fb079fb5a32ee6eb2b297de273b261a9c71 (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.c32
-rw-r--r--sway/commands/bar/strip_workspace_numbers.c17
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);
}