add --i3 flag to hide_edge_borders

Enables i3-compatible behavior regarding hiding the title bar on tabbed and
stacked containers with one child.

Related issues and merge requests: #3031, #3002, #2912, #2987.
This commit is contained in:
db 2019-02-24 10:00:15 +01:00 committed by Brian Ashworth
parent d4b1e71b91
commit 2510e3df38
6 changed files with 33 additions and 12 deletions

View file

@ -5,10 +5,16 @@
struct cmd_results *cmd_hide_edge_borders(int argc, char **argv) {
struct cmd_results *error = NULL;
if ((error = checkarg(argc, "hide_edge_borders", EXPECTED_EQUAL_TO, 1))) {
if ((error = checkarg(argc, "hide_edge_borders", EXPECTED_AT_LEAST, 1))) {
return error;
}
if (strcmp(*argv, "--i3") == 0) {
config->hide_lone_tab = true;
++argv;
--argc;
}
if (strcmp(argv[0], "none") == 0) {
config->hide_edge_borders = E_NONE;
} else if (strcmp(argv[0], "vertical") == 0) {
@ -23,7 +29,7 @@ struct cmd_results *cmd_hide_edge_borders(int argc, char **argv) {
config->hide_edge_borders = E_SMART_NO_GAPS;
} else {
return cmd_results_new(CMD_INVALID, "Expected 'hide_edge_borders "
"<none|vertical|horizontal|both|smart|smart_no_gaps>'");
"[--i3] <none|vertical|horizontal|both|smart|smart_no_gaps>'");
}
config->saved_edge_borders = config->hide_edge_borders;