diff --git a/docs/userguide b/docs/userguide index ccedc577..7240409c 100644 --- a/docs/userguide +++ b/docs/userguide @@ -2030,10 +2030,13 @@ Use the +move+ command to move a container. # defaults to 10 pixels. move [ 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 [px] [px] +# Moves the container to the specified pos_x and pos_y +# coordinates on the screen. +move position [px] [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 diff --git a/include/commands.h b/include/commands.h index 1057f021..aaa0875f 100644 --- a/include/commands.h +++ b/include/commands.h @@ -264,7 +264,7 @@ void cmd_focus_output(I3_CMD, const char *name); * Implementation of 'move [window|container] [to] [absolute] position [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 diff --git a/parser-specs/commands.spec b/parser-specs/commands.spec index 0289fa1a..4048768e 100644 --- a/parser-specs/commands.spec +++ b/parser-specs/commands.spec @@ -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 state MODE: diff --git a/src/commands.c b/src/commands.c index 899bbb90..b62daad9 100644 --- a/src/commands.c +++ b/src/commands.c @@ -1694,7 +1694,7 @@ void cmd_focus_output(I3_CMD, const char *name) { * Implementation of 'move [window|container] [to] [absolute] position [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