diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-01-10 23:43:45 -0500 |
---|---|---|
committer | Brian Ashworth <bosrsf04@gmail.com> | 2019-01-11 00:07:58 -0500 |
commit | c0f92cb2fb94ac87396da99646f9219e54b36860 (patch) | |
tree | b03bd387cc1226031230ad5503dcbf7025128e02 /sway | |
parent | swaylock: Add caps lock state to indicator (diff) | |
download | sway-c0f92cb2fb94ac87396da99646f9219e54b36860.tar.gz sway-c0f92cb2fb94ac87396da99646f9219e54b36860.tar.zst sway-c0f92cb2fb94ac87396da99646f9219e54b36860.zip |
swaybar: add status_padding command
Adds the bar subcommand `status_padding <padding>` which allows setting
the padding used for swaybar. If `status_padding` is set to `0`, blocks
will be able to take up the full height of the bar.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands/bar.c | 1 | ||||
-rw-r--r-- | sway/commands/bar/status_padding.c | 21 | ||||
-rw-r--r-- | sway/config/bar.c | 1 | ||||
-rw-r--r-- | sway/ipc-json.c | 2 | ||||
-rw-r--r-- | sway/meson.build | 1 | ||||
-rw-r--r-- | sway/sway-bar.5.scd | 5 |
6 files changed, 31 insertions, 0 deletions
diff --git a/sway/commands/bar.c b/sway/commands/bar.c index 507ee10a..81d84331 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_padding", bar_cmd_status_padding }, | ||
26 | { "strip_workspace_name", bar_cmd_strip_workspace_name }, | 27 | { "strip_workspace_name", bar_cmd_strip_workspace_name }, |
27 | { "strip_workspace_numbers", bar_cmd_strip_workspace_numbers }, | 28 | { "strip_workspace_numbers", bar_cmd_strip_workspace_numbers }, |
28 | { "tray_bindsym", bar_cmd_tray_bindsym }, | 29 | { "tray_bindsym", bar_cmd_tray_bindsym }, |
diff --git a/sway/commands/bar/status_padding.c b/sway/commands/bar/status_padding.c new file mode 100644 index 00000000..13b8eb6b --- /dev/null +++ b/sway/commands/bar/status_padding.c | |||
@@ -0,0 +1,21 @@ | |||
1 | #include <stdlib.h> | ||
2 | #include <string.h> | ||
3 | #include "sway/commands.h" | ||
4 | #include "log.h" | ||
5 | |||
6 | struct cmd_results *bar_cmd_status_padding(int argc, char **argv) { | ||
7 | struct cmd_results *error = NULL; | ||
8 | if ((error = checkarg(argc, "status_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_padding", | ||
15 | "Padding must be a positive integer"); | ||
16 | } | ||
17 | config->current_bar->status_padding = padding; | ||
18 | wlr_log(WLR_DEBUG, "Status padding on bar %s: %d", | ||
19 | config->current_bar->id, config->current_bar->status_padding); | ||
20 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | ||
21 | } | ||
diff --git a/sway/config/bar.c b/sway/config/bar.c index 670219f1..ebe81cab 100644 --- a/sway/config/bar.c +++ b/sway/config/bar.c | |||
@@ -106,6 +106,7 @@ struct bar_config *default_bar_config(void) { | |||
106 | bar->verbose = false; | 106 | bar->verbose = false; |
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 | if (!(bar->mode = strdup("dock"))) { | 110 | if (!(bar->mode = strdup("dock"))) { |
110 | goto cleanup; | 111 | goto cleanup; |
111 | } | 112 | } |
diff --git a/sway/ipc-json.c b/sway/ipc-json.c index 53e0e335..a21fb4f6 100644 --- a/sway/ipc-json.c +++ b/sway/ipc-json.c | |||
@@ -660,6 +660,8 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) { | |||
660 | } | 660 | } |
661 | json_object_object_add(json, "bar_height", | 661 | json_object_object_add(json, "bar_height", |
662 | json_object_new_int(bar->height)); | 662 | json_object_new_int(bar->height)); |
663 | json_object_object_add(json, "status_padding", | ||
664 | json_object_new_int(bar->status_padding)); | ||
663 | json_object_object_add(json, "wrap_scroll", | 665 | json_object_object_add(json, "wrap_scroll", |
664 | json_object_new_boolean(bar->wrap_scroll)); | 666 | json_object_new_boolean(bar->wrap_scroll)); |
665 | json_object_object_add(json, "workspace_buttons", | 667 | json_object_object_add(json, "workspace_buttons", |
diff --git a/sway/meson.build b/sway/meson.build index 98676ce0..1f7ae060 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_padding.c', | ||
119 | 'commands/bar/strip_workspace_numbers.c', | 120 | 'commands/bar/strip_workspace_numbers.c', |
120 | 'commands/bar/strip_workspace_name.c', | 121 | 'commands/bar/strip_workspace_name.c', |
121 | 'commands/bar/swaybar_command.c', | 122 | 'commands/bar/swaybar_command.c', |
diff --git a/sway/sway-bar.5.scd b/sway/sway-bar.5.scd index 2357591d..4448e3e8 100644 --- a/sway/sway-bar.5.scd +++ b/sway/sway-bar.5.scd | |||
@@ -92,6 +92,11 @@ Sway allows configuring swaybar in the sway configuration file. | |||
92 | *modifier* <Modifier>|none | 92 | *modifier* <Modifier>|none |
93 | Specifies the modifier key that shows a hidden bar. Default is _Mod4_. | 93 | Specifies the modifier key that shows a hidden bar. Default is _Mod4_. |
94 | 94 | ||
95 | *status\_padding* <padding> | ||
96 | Sets the vertical padding that is used for the status line. The default is | ||
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. | ||
99 | |||
95 | ## TRAY | 100 | ## TRAY |
96 | 101 | ||
97 | Swaybar provides a system tray where third-party applications may place icons. | 102 | Swaybar provides a system tray where third-party applications may place icons. |