Bugfix: the up/down directions were swapped
Also compare 'output' and 'current' in the same order in both parts of the condition to make the comparison more clear.
This commit is contained in:
parent
692d65b0fd
commit
99ba193ce7
12
src/randr.c
12
src/randr.c
|
@ -164,19 +164,23 @@ Output *get_output_next(direction_t direction, Output *current) {
|
|||
|
||||
switch (direction) {
|
||||
case D_UP:
|
||||
if (current->rect.y < output->rect.y && (!candidate || output->rect.y < candidate->rect.y))
|
||||
if (output->rect.y < current->rect.y &&
|
||||
(!candidate || output->rect.y < candidate->rect.y))
|
||||
candidate = output;
|
||||
break;
|
||||
case D_DOWN:
|
||||
if (current->rect.y > output->rect.y && (!candidate || output->rect.y > candidate->rect.y))
|
||||
if (output->rect.y > current->rect.y &&
|
||||
(!candidate || output->rect.y > candidate->rect.y))
|
||||
candidate = output;
|
||||
break;
|
||||
case D_LEFT:
|
||||
if (current->rect.x > output->rect.x && (!candidate || output->rect.x > candidate->rect.x))
|
||||
if (output->rect.x < current->rect.x &&
|
||||
(!candidate || output->rect.x > candidate->rect.x))
|
||||
candidate = output;
|
||||
break;
|
||||
case D_RIGHT:
|
||||
if (current->rect.x < output->rect.x && (!candidate || output->rect.x < candidate->rect.x))
|
||||
if (output->rect.x > current->rect.x &&
|
||||
(!candidate || output->rect.x < candidate->rect.x))
|
||||
candidate = output;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -393,9 +393,9 @@ static bool _tree_next(Con *con, char way, orientation_t orientation, bool wrap)
|
|||
else if (way == 'p' && orientation == HORIZ)
|
||||
direction = D_LEFT;
|
||||
else if (way == 'n' && orientation == VERT)
|
||||
direction = D_UP;
|
||||
else if (way == 'p' && orientation == VERT)
|
||||
direction = D_DOWN;
|
||||
else if (way == 'p' && orientation == VERT)
|
||||
direction = D_UP;
|
||||
else
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Reference in New Issue