Implement resize command for floating clients
This commit is contained in:
parent
fde11f9a5c
commit
7270b74732
|
@ -806,7 +806,34 @@ static void parse_resize_command(xcb_connection_t *conn, Client *last_focused, c
|
||||||
int first, second;
|
int first, second;
|
||||||
resize_orientation_t orientation = O_VERTICAL;
|
resize_orientation_t orientation = O_VERTICAL;
|
||||||
Container *con = last_focused->container;
|
Container *con = last_focused->container;
|
||||||
Workspace *ws = con->workspace;
|
Workspace *ws = last_focused->workspace;
|
||||||
|
|
||||||
|
if (client_is_floating(last_focused)) {
|
||||||
|
DLOG("Resizing a floating client\n");
|
||||||
|
if (STARTS_WITH(command, "left")) {
|
||||||
|
command += strlen("left");
|
||||||
|
last_focused->rect.width += atoi(command);
|
||||||
|
last_focused->rect.x -= atoi(command);
|
||||||
|
} else if (STARTS_WITH(command, "right")) {
|
||||||
|
command += strlen("right");
|
||||||
|
last_focused->rect.width += atoi(command);
|
||||||
|
} else if (STARTS_WITH(command, "top")) {
|
||||||
|
command += strlen("top");
|
||||||
|
last_focused->rect.height += atoi(command);
|
||||||
|
last_focused->rect.y -= atoi(command);
|
||||||
|
} else if (STARTS_WITH(command, "bottom")) {
|
||||||
|
command += strlen("bottom");
|
||||||
|
last_focused->rect.height += atoi(command);
|
||||||
|
} else {
|
||||||
|
ELOG("Syntax: resize <left|right|top|bottom> [+|-]<pixels>\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* resize_client flushes */
|
||||||
|
resize_client(conn, last_focused);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (STARTS_WITH(command, "left")) {
|
if (STARTS_WITH(command, "left")) {
|
||||||
if (con->col == 0)
|
if (con->col == 0)
|
||||||
|
|
Loading…
Reference in New Issue