Fix window movement off-by-one. Pre-requisites: two workspaces, one above the other; workspace wrapping when dragging a window is enabled; window positioned right at the top of a screen. Move the window horizontally, using the keyboard shortcuts. Watch as it is moved vertically by the minimum amount into the workspace above. First becomes apparent in changeset 22939, but the cause is earlier than this. Index: src/placement.c =================================================================== --- src/placement.c (revision 23903) +++ src/placement.c (working copy) @@ -390,7 +390,7 @@ frame_y = frameY (c); ret |= CLIENT_CONSTRAINED_BOTTOM; } - if ((frame_y <= disp_y) && (frame_y >= disp_y - frame_top)) + if ((frame_y < disp_y) && (frame_y >= disp_y - frame_top)) { c->y = disp_y + frame_top; frame_y = frameY (c);