Implement bar gaps

Adds the bar subcommand `gaps <amount>|<horizontal> <vertical>|<top>
<right> <bottom> <left>` to set gaps for swaybar. Due to restrictions on
margins for a layer_surface, only the sides that are anchored to an edge
of the screen can have gaps. Since there is support for per-side outer
gaps for workspaces, those should be able to be used instead for the
last side.
This commit is contained in:
Brian Ashworth 2018-11-28 11:23:48 -05:00
parent 5341e034df
commit 1bd8463481
11 changed files with 141 additions and 1 deletions

View file

@ -638,6 +638,18 @@ json_object *ipc_json_describe_bar_config(struct bar_config *bar) {
json_object_new_string(bar->status_command) : NULL);
json_object_object_add(json, "font",
json_object_new_string((bar->font) ? bar->font : config->font));
json_object *gaps = json_object_new_object();
json_object_object_add(gaps, "top",
json_object_new_int(bar->gaps.top));
json_object_object_add(gaps, "right",
json_object_new_int(bar->gaps.right));
json_object_object_add(gaps, "bottom",
json_object_new_int(bar->gaps.bottom));
json_object_object_add(gaps, "left",
json_object_new_int(bar->gaps.left));
json_object_object_add(json, "gaps", gaps);
if (bar->separator_symbol) {
json_object_object_add(json, "separator_symbol",
json_object_new_string(bar->separator_symbol));