Revert "Add a timeout: delay_exit_on_zero_displays"

This reverts commit 2c77d7ceed.
This commit is contained in:
Nils Schneider
2015-09-14 22:34:05 +02:00
parent 7de15b3815
commit c87b256200
9 changed files with 9 additions and 124 deletions

View File

@ -69,7 +69,7 @@ Output *get_first_output(void) {
if (output->active)
return output;
return NULL;
die("No usable outputs available.\n");
}
/*
@ -564,8 +564,6 @@ static void handle_output(xcb_connection_t *conn, xcb_randr_output_t id,
if (!new->active) {
DLOG("width/height 0/0, disabling output\n");
return;
} else {
new->to_be_disabled = false;
}
DLOG("mode: %dx%d+%d+%d\n", new->rect.width, new->rect.height,
@ -587,7 +585,11 @@ static void handle_output(xcb_connection_t *conn, xcb_randr_output_t id,
new->changed = true;
}
static bool __randr_query_outputs(void) {
/*
* (Re-)queries the outputs via RandR and stores them in the list of outputs.
*
*/
void randr_query_outputs(void) {
Output *output, *other, *first;
xcb_randr_get_output_primary_cookie_t pcookie;
xcb_randr_get_screen_resources_current_cookie_t rcookie;
@ -601,7 +603,7 @@ static bool __randr_query_outputs(void) {
xcb_randr_output_t *randr_outputs;
if (randr_disabled)
return true;
return;
/* Get screen resources (primary output, crtcs, outputs, modes) */
rcookie = xcb_randr_get_screen_resources_current(conn, root);
@ -613,7 +615,7 @@ static bool __randr_query_outputs(void) {
DLOG("primary output is %08x\n", primary->output);
if ((res = xcb_randr_get_screen_resources_current_reply(conn, rcookie, NULL)) == NULL) {
disable_randr(conn);
return true;
return;
}
cts = res->config_timestamp;
@ -695,11 +697,6 @@ static bool __randr_query_outputs(void) {
DLOG("Output %s disabled, re-assigning workspaces/docks\n", output->name);
first = get_first_output();
if (!first) {
FREE(res);
FREE(primary);
return false;
}
/* TODO: refactor the following code into a nice function. maybe
* use an on_destroy callback which is implement differently for
@ -812,32 +809,6 @@ static bool __randr_query_outputs(void) {
FREE(res);
FREE(primary);
return true;
}
/*
* (Re-)queries the outputs via RandR and stores them in the list of outputs.
*
*/
void randr_query_outputs(void) {
static bool first_query = true;
if (first_query) {
/* find monitors at least once via RandR */
if (!__randr_query_outputs())
die("No usable outputs available.\n");
first_query = false;
} else {
/* requery */
if (!__randr_query_outputs()) {
DLOG("sleep %f ms due to zero displays\n", config.zero_disp_exit_timer_ms);
usleep(config.zero_disp_exit_timer_ms * 1000);
if (!__randr_query_outputs())
die("No usable outputs available.\n");
}
}
}
/*