Smart option added to hide_edge_borders config param (#2191) (#2191)

Use case:

* When managing multiple terminals in a workspace, the borders makes it easier
to know where the focus is, but when there is only one it's obvious where the
focus is.

* When there's only a web browser for example, the borders are actually counter-
productive since it makes clicking a side scrollbar or a tab a bit harder (if I
smash my cursor to the side or the top of the workspace, I have to move it in
the other direction by just a few pixels to be able to grab it)

Behaviour:

* No borders when there's a single window in a workspace
* Borders when there are multiple windows in a workspace

fixes #2188
This commit is contained in:
Julien Lequertier
2016-05-10 20:27:20 +02:00
committed by Michael Stapelberg
parent 47562b4143
commit 4bec3b9d24
9 changed files with 220 additions and 13 deletions

View File

@ -223,18 +223,20 @@ CFGFUN(new_window, const char *windowtype, const char *border, const long width)
}
CFGFUN(hide_edge_borders, const char *borders) {
if (strcmp(borders, "vertical") == 0)
config.hide_edge_borders = ADJ_LEFT_SCREEN_EDGE | ADJ_RIGHT_SCREEN_EDGE;
if (strcmp(borders, "smart") == 0)
config.hide_edge_borders = HEBM_SMART;
else if (strcmp(borders, "vertical") == 0)
config.hide_edge_borders = HEBM_VERTICAL;
else if (strcmp(borders, "horizontal") == 0)
config.hide_edge_borders = ADJ_UPPER_SCREEN_EDGE | ADJ_LOWER_SCREEN_EDGE;
config.hide_edge_borders = HEBM_HORIZONTAL;
else if (strcmp(borders, "both") == 0)
config.hide_edge_borders = ADJ_LEFT_SCREEN_EDGE | ADJ_RIGHT_SCREEN_EDGE | ADJ_UPPER_SCREEN_EDGE | ADJ_LOWER_SCREEN_EDGE;
config.hide_edge_borders = HEBM_BOTH;
else if (strcmp(borders, "none") == 0)
config.hide_edge_borders = ADJ_NONE;
config.hide_edge_borders = HEBM_NONE;
else if (eval_boolstr(borders))
config.hide_edge_borders = ADJ_LEFT_SCREEN_EDGE | ADJ_RIGHT_SCREEN_EDGE;
config.hide_edge_borders = HEBM_VERTICAL;
else
config.hide_edge_borders = ADJ_NONE;
config.hide_edge_borders = HEBM_NONE;
}
CFGFUN(focus_follows_mouse, const char *value) {