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.next
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