if (output->active)
return output;
- return NULL;
+ die("No usable outputs available.\n");
}
/*
(direction == D_LEFT && other->x < cur->x)) {
/* Skip the output when it doesn’t overlap the other one’s y
* coordinate at all. */
- if ((other->y + other->height) < cur->y &&
- (cur->y + cur->height) < other->y)
+ if ((other->y + other->height) <= cur->y ||
+ (cur->y + cur->height) <= other->y)
continue;
} else if ((direction == D_DOWN && other->y > cur->y) ||
(direction == D_UP && other->y < cur->y)) {
/* Skip the output when it doesn’t overlap the other one’s x
* coordinate at all. */
- if ((other->x + other->width) < cur->x &&
- (cur->x + cur->width) < other->x)
+ if ((other->x + other->width) <= cur->x ||
+ (cur->x + cur->width) <= other->x)
continue;
} else
continue;
output->active = false;
DLOG("Output %s disabled, re-assigning workspaces/docks\n", output->name);
- if ((first = get_first_output()) == NULL)
- die("No usable outputs available\n");
+ first = get_first_output();
/* TODO: refactor the following code into a nice function. maybe
* use an on_destroy callback which is implement differently for
disable_randr(conn);
}
+ /* Verifies that there is at least one active output as a side-effect. */
+ get_first_output();
+
/* Just go through each active output and assign one workspace */
TAILQ_FOREACH(output, &outputs, outputs) {
if (!output->active)