aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2015-12-15 09:08:40 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2015-12-15 09:08:40 -0500
commit809c251df81bbdfd0ea13c269c28cd93d57f6e4b (patch)
tree1735f8f1f804d859eb37d49303d4517ac051fa57 /sway
parentFix crash from ipc_json_describe_workspace (diff)
parentAdd bar height option (Airblader/i3) (diff)
downloadsway-809c251df81bbdfd0ea13c269c28cd93d57f6e4b.tar.gz
sway-809c251df81bbdfd0ea13c269c28cd93d57f6e4b.tar.zst
sway-809c251df81bbdfd0ea13c269c28cd93d57f6e4b.zip
Merge pull request #328 from mikkeloscar/bar-height
Add bar height option (Airblader/i3)
Diffstat (limited to 'sway')
-rw-r--r--sway/commands.c19
-rw-r--r--sway/config.c2
-rw-r--r--sway/ipc-server.c2
3 files changed, 21 insertions, 2 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 733fb293..23e6e68c 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -69,6 +69,7 @@ static sway_cmd bar_cmd_bindsym;
69static sway_cmd bar_cmd_colors; 69static sway_cmd bar_cmd_colors;
70static sway_cmd bar_cmd_mode; 70static sway_cmd bar_cmd_mode;
71static sway_cmd bar_cmd_modifier; 71static sway_cmd bar_cmd_modifier;
72static sway_cmd bar_cmd_height;
72static sway_cmd bar_cmd_hidden_state; 73static sway_cmd bar_cmd_hidden_state;
73static sway_cmd bar_cmd_id; 74static sway_cmd bar_cmd_id;
74static sway_cmd bar_cmd_position; 75static sway_cmd bar_cmd_position;
@@ -1592,6 +1593,23 @@ static struct cmd_results *bar_cmd_colors(int argc, char **argv) {
1592 return cmd_results_new(CMD_BLOCK_BAR_COLORS, NULL, NULL); 1593 return cmd_results_new(CMD_BLOCK_BAR_COLORS, NULL, NULL);
1593} 1594}
1594 1595
1596static struct cmd_results *bar_cmd_height(int argc, char **argv) {
1597 struct cmd_results *error = NULL;
1598 if ((error = checkarg(argc, "height", EXPECTED_EQUAL_TO, 1))) {
1599 return error;
1600 }
1601
1602 int height = atoi(argv[0]);
1603 if (height < 0) {
1604 return cmd_results_new(CMD_INVALID, "height",
1605 "Invalid height value: %s", argv[0]);
1606 }
1607
1608 config->current_bar->height = height;
1609 sway_log(L_DEBUG, "Setting bar height to %d on bar: %s", height, config->current_bar->id);
1610 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
1611}
1612
1595static struct cmd_results *bar_cmd_hidden_state(int argc, char **argv) { 1613static struct cmd_results *bar_cmd_hidden_state(int argc, char **argv) {
1596 struct cmd_results *error = NULL; 1614 struct cmd_results *error = NULL;
1597 if ((error = checkarg(argc, "hidden_state", EXPECTED_EQUAL_TO, 1))) { 1615 if ((error = checkarg(argc, "hidden_state", EXPECTED_EQUAL_TO, 1))) {
@@ -1831,6 +1849,7 @@ static struct cmd_handler bar_handlers[] = {
1831 { "bindsym", bar_cmd_bindsym }, 1849 { "bindsym", bar_cmd_bindsym },
1832 { "colors", bar_cmd_colors }, 1850 { "colors", bar_cmd_colors },
1833 { "font", NULL }, 1851 { "font", NULL },
1852 { "height", bar_cmd_height },
1834 { "hidden_state", bar_cmd_hidden_state }, 1853 { "hidden_state", bar_cmd_hidden_state },
1835 { "id", bar_cmd_id }, 1854 { "id", bar_cmd_id },
1836 { "mode", bar_cmd_mode }, 1855 { "mode", bar_cmd_mode },
diff --git a/sway/config.c b/sway/config.c
index e0c9151d..ec875169 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -562,7 +562,7 @@ struct bar_config *default_bar_config(void) {
562 bar->bindings = create_list(); 562 bar->bindings = create_list();
563 bar->status_command = strdup("while :; do date +'%Y-%m-%d %l:%M:%S %p' && sleep 1; done"); 563 bar->status_command = strdup("while :; do date +'%Y-%m-%d %l:%M:%S %p' && sleep 1; done");
564 bar->font = strdup("monospace 10"); 564 bar->font = strdup("monospace 10");
565 bar->bar_height = -1; 565 bar->height = -1;
566 bar->workspace_buttons = true; 566 bar->workspace_buttons = true;
567 bar->strip_workspace_numbers = false; 567 bar->strip_workspace_numbers = false;
568 bar->binding_mode_indicator = true; 568 bar->binding_mode_indicator = true;
diff --git a/sway/ipc-server.c b/sway/ipc-server.c
index 838dbe2a..6764a459 100644
--- a/sway/ipc-server.c
+++ b/sway/ipc-server.c
@@ -419,7 +419,7 @@ void ipc_client_handle_command(struct ipc_client *client) {
419 } 419 }
420 json_object_object_add(json, "status_command", json_object_new_string(bar->status_command)); 420 json_object_object_add(json, "status_command", json_object_new_string(bar->status_command));
421 json_object_object_add(json, "font", json_object_new_string(bar->font)); 421 json_object_object_add(json, "font", json_object_new_string(bar->font));
422 json_object_object_add(json, "bar_height", json_object_new_int(bar->bar_height)); 422 json_object_object_add(json, "bar_height", json_object_new_int(bar->height));
423 json_object_object_add(json, "workspace_buttons", json_object_new_boolean(bar->workspace_buttons)); 423 json_object_object_add(json, "workspace_buttons", json_object_new_boolean(bar->workspace_buttons));
424 json_object_object_add(json, "strip_workspace_numbers", json_object_new_boolean(bar->strip_workspace_numbers)); 424 json_object_object_add(json, "strip_workspace_numbers", json_object_new_boolean(bar->strip_workspace_numbers));
425 json_object_object_add(json, "binding_mode_indicator", json_object_new_boolean(bar->binding_mode_indicator)); 425 json_object_object_add(json, "binding_mode_indicator", json_object_new_boolean(bar->binding_mode_indicator));