aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-11 00:12:24 -0500
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-01-11 00:12:24 -0500
commitca0a75d5408125c4e2a9394fd1b08b7bbc4ff9c5 (patch)
tree37c5bfa911eebcb21f9712799160d1126363e139 /sway
parentswaybar: add status_padding command (diff)
downloadsway-ca0a75d5408125c4e2a9394fd1b08b7bbc4ff9c5.tar.gz
sway-ca0a75d5408125c4e2a9394fd1b08b7bbc4ff9c5.tar.zst
sway-ca0a75d5408125c4e2a9394fd1b08b7bbc4ff9c5.zip
swaybar: add status_edge_padding command
This adds the bar subcommand `status_edge_padding <padding>` to set the padding used when the status line is on the right edge of the bar.
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/bar.c1
-rw-r--r--sway/commands/bar/status_edge_padding.c21
-rw-r--r--sway/config/bar.c1
-rw-r--r--sway/ipc-json.c2
-rw-r--r--sway/meson.build1
-rw-r--r--sway/sway-bar.5.scd5
6 files changed, 31 insertions, 0 deletions
diff --git a/sway/commands/bar.c b/sway/commands/bar.c
index 81d84331..3e7c1b0f 100644
--- a/sway/commands/bar.c
+++ b/sway/commands/bar.c
@@ -23,6 +23,7 @@ static struct cmd_handler bar_handlers[] = {
23 { "position", bar_cmd_position }, 23 { "position", bar_cmd_position },
24 { "separator_symbol", bar_cmd_separator_symbol }, 24 { "separator_symbol", bar_cmd_separator_symbol },
25 { "status_command", bar_cmd_status_command }, 25 { "status_command", bar_cmd_status_command },
26 { "status_edge_padding", bar_cmd_status_edge_padding },
26 { "status_padding", bar_cmd_status_padding }, 27 { "status_padding", bar_cmd_status_padding },
27 { "strip_workspace_name", bar_cmd_strip_workspace_name }, 28 { "strip_workspace_name", bar_cmd_strip_workspace_name },
28 { "strip_workspace_numbers", bar_cmd_strip_workspace_numbers }, 29 { "strip_workspace_numbers", bar_cmd_strip_workspace_numbers },
diff --git a/sway/commands/bar/status_edge_padding.c b/sway/commands/bar/status_edge_padding.c
new file mode 100644
index 00000000..f3b10631
--- /dev/null
+++ b/sway/commands/bar/status_edge_padding.c
@@ -0,0 +1,21 @@
1#include <stdlib.h>
2#include <string.h>
3#include "sway/commands.h"
4#include "log.h"
5
6struct cmd_results *bar_cmd_status_edge_padding(int argc, char **argv) {
7 struct cmd_results *error = NULL;
8 if ((error = checkarg(argc, "status_edge_padding", EXPECTED_EQUAL_TO, 1))) {
9 return error;
10 }
11 char *end;
12 int padding = strtol(argv[0], &end, 10);
13 if (strlen(end) || padding < 0) {
14 return cmd_results_new(CMD_INVALID, "status_edge_padding",
15 "Padding must be a positive integer");
16 }
17 config->current_bar->status_edge_padding = padding;
18 wlr_log(WLR_DEBUG, "Status edge padding on bar %s: %d",
19 config->current_bar->id, config->current_bar->status_edge_padding);
20 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
21}
diff --git a/sway/config/bar.c b/sway/config/bar.c
index ebe81cab..101562d1 100644
--- a/sway/config/bar.c
+++ b/sway/config/bar.c
@@ -107,6 +107,7 @@ struct bar_config *default_bar_config(void) {
107 bar->pid = 0; 107 bar->pid = 0;
108 bar->modifier = get_modifier_mask_by_name("Mod4"); 108 bar->modifier = get_modifier_mask_by_name("Mod4");
109 bar->status_padding = 1; 109 bar->status_padding = 1;
110 bar->status_edge_padding = 3;
110 if (!(bar->mode = strdup("dock"))) { 111 if (!(bar->mode = strdup("dock"))) {
111 goto cleanup; 112 goto cleanup;
112 } 113 }
diff --git a/sway/ipc-json.c b/sway/ipc-json.c
index a21fb4f6..09b65e8d 100644
--- a/sway/ipc-json.c
+++ b/sway/ipc-json.c
@@ -662,6 +662,8 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) {
662 json_object_new_int(bar->height)); 662 json_object_new_int(bar->height));
663 json_object_object_add(json, "status_padding", 663 json_object_object_add(json, "status_padding",
664 json_object_new_int(bar->status_padding)); 664 json_object_new_int(bar->status_padding));
665 json_object_object_add(json, "status_edge_padding",
666 json_object_new_int(bar->status_edge_padding));
665 json_object_object_add(json, "wrap_scroll", 667 json_object_object_add(json, "wrap_scroll",
666 json_object_new_boolean(bar->wrap_scroll)); 668 json_object_new_boolean(bar->wrap_scroll));
667 json_object_object_add(json, "workspace_buttons", 669 json_object_object_add(json, "workspace_buttons",
diff --git a/sway/meson.build b/sway/meson.build
index 1f7ae060..ab5862c5 100644
--- a/sway/meson.build
+++ b/sway/meson.build
@@ -116,6 +116,7 @@ sway_sources = files(
116 'commands/bar/position.c', 116 'commands/bar/position.c',
117 'commands/bar/separator_symbol.c', 117 'commands/bar/separator_symbol.c',
118 'commands/bar/status_command.c', 118 'commands/bar/status_command.c',
119 'commands/bar/status_edge_padding.c',
119 'commands/bar/status_padding.c', 120 'commands/bar/status_padding.c',
120 'commands/bar/strip_workspace_numbers.c', 121 'commands/bar/strip_workspace_numbers.c',
121 'commands/bar/strip_workspace_name.c', 122 'commands/bar/strip_workspace_name.c',
diff --git a/sway/sway-bar.5.scd b/sway/sway-bar.5.scd
index 4448e3e8..b345b392 100644
--- a/sway/sway-bar.5.scd
+++ b/sway/sway-bar.5.scd
@@ -97,6 +97,11 @@ Sway allows configuring swaybar in the sway configuration file.
97 _1_. If _padding_ is _0_, blocks will be able to take up the full height of 97 _1_. If _padding_ is _0_, blocks will be able to take up the full height of
98 the bar. This value will be multiplied by the output scale. 98 the bar. This value will be multiplied by the output scale.
99 99
100*status\_edge\_padding* <padding>
101 Sets the padding that is used when the status line is at the right edge of
102 the bar. This value will be multiplied by the output scale. The default is
103 _3_.
104
100## TRAY 105## TRAY
101 106
102Swaybar provides a system tray where third-party applications may place icons. 107Swaybar provides a system tray where third-party applications may place icons.