Remove 'method' from cmd_move_window_to_position

For command:
move window to [absolute] position X px Y px
if the optional keyword 'absolute' is provided the end result is the
same even though it is implemented differently. Only difference is that
with absolute the floating window can move completely outside of any
output.

This commit removes the 'method' argument and only keeps the sane
implementation.
next
Orestis Floros 2018-03-18 02:08:16 +02:00
parent 670dfa0bba
commit 174dc389ff
4 changed files with 15 additions and 23 deletions

View File

@ -2030,10 +2030,13 @@ Use the +move+ command to move a container.
# defaults to 10 pixels.
move <left|right|down|up> [<px> px]
# Moves the container either to a specific location
# or to the center of the screen. If 'absolute' is
# used, it is moved to the center of all outputs.
move [absolute] position <pos_x> [px] <pos_y> [px]
# Moves the container to the specified pos_x and pos_y
# coordinates on the screen.
move position <pos_x> [px] <pos_y> [px]
# Moves the container to the center of the screen.
# If 'absolute' is used, it is moved to the center of
# all outputs.
move [absolute] position center
# Moves the container to the current position of the

View File

@ -264,7 +264,7 @@ void cmd_focus_output(I3_CMD, const char *name);
* Implementation of 'move [window|container] [to] [absolute] position <px> [px] <px> [px]
*
*/
void cmd_move_window_to_position(I3_CMD, const char *method, long x, long y);
void cmd_move_window_to_position(I3_CMD, long x, long y);
/**
* Implementation of 'move [window|container] [to] [absolute] position center

View File

@ -396,7 +396,7 @@ state MOVE_TO_POSITION_X:
state MOVE_TO_POSITION_Y:
'px', end
-> call cmd_move_window_to_position($method, &coord_x, &coord_y)
-> call cmd_move_window_to_position(&coord_x, &coord_y)
# mode <string>
state MODE:

View File

@ -1694,7 +1694,7 @@ void cmd_focus_output(I3_CMD, const char *name) {
* Implementation of 'move [window|container] [to] [absolute] position <px> [px] <px> [px]
*
*/
void cmd_move_window_to_position(I3_CMD, const char *method, long x, long y) {
void cmd_move_window_to_position(I3_CMD, long x, long y) {
bool has_error = false;
owindow *current;
@ -1712,24 +1712,13 @@ void cmd_move_window_to_position(I3_CMD, const char *method, long x, long y) {
continue;
}
if (strcmp(method, "absolute") == 0) {
current->con->parent->rect.x = x;
current->con->parent->rect.y = y;
Rect newrect = current->con->parent->rect;
DLOG("moving to absolute position %ld %ld\n", x, y);
floating_maybe_reassign_ws(current->con->parent);
cmd_output->needs_tree_render = true;
}
DLOG("moving to position %ld %ld\n", x, y);
newrect.x = x;
newrect.y = y;
if (strcmp(method, "position") == 0) {
Rect newrect = current->con->parent->rect;
DLOG("moving to position %ld %ld\n", x, y);
newrect.x = x;
newrect.y = y;
floating_reposition(current->con->parent, newrect);
}
floating_reposition(current->con->parent, newrect);
}
// XXX: default reply for now, make this a better reply