Ensure that resize will take place even if pixel is smaller than size increments.
Patch status: merged
Patch by oblique
Long description:
fixes #1011
To apply this patch, use:
curl http://cr.i3wm.org/patch/140/raw.patch | git am
b/src/commands.c
15 |
@@ -569,6 +569,23 @@ void cmd_move_con_to_workspace_number(I3_CMD, char *which) { |
16 |
static void cmd_resize_floating(I3_CMD, char *way, char *direction, Con *floating_con, int px) { |
17 |
LOG("floating resize\n"); |
18 |
Rect old_rect = floating_con->rect; |
19 |
+ Con *focused_con = con_descend_focused(floating_con); |
20 |
+ |
21 |
+ /* ensure that resize will take place even if pixel increment is smaller than |
22 |
+ * height increment or width increment. |
23 |
+ * fixes #1011 */ |
24 |
+ if (strcmp(direction, "up") == 0 || strcmp(direction, "down") == 0 || |
25 |
+ strcmp(direction, "height") == 0) { |
26 |
+ if (px < 0) |
27 |
+ px = (-px < focused_con->height_increment) ? -focused_con->height_increment : px; |
28 |
+ else |
29 |
+ px = (px < focused_con->height_increment) ? focused_con->height_increment : px; |
30 |
+ } else if (strcmp(direction, "left") == 0 || strcmp(direction, "right") == 0) { |
31 |
+ if (px < 0) |
32 |
+ px = (-px < focused_con->width_increment) ? -focused_con->width_increment : px; |
33 |
+ else |
34 |
+ px = (px < focused_con->width_increment) ? focused_con->width_increment : px; |
35 |
+ } |
36 |
|
37 |
if (strcmp(direction, "up") == 0) { |
38 |
floating_con->rect.height += px; |