If no output is available, use the root screen geometry to determine the maximum size when checking the size of floating windows.

This is necessary during a restart of i3 when restoring floating windows. In this situation, we restore the layout before setting up the RandR outputs which would set the window's size to 0, making it invisible.

Thanks to hwangcc23 and spudowiar for reporting.

fixes #1910
fixes #1934
This commit is contained in:
Ingo Bürk 2015-09-20 11:35:26 +02:00
parent eb4a174788
commit 55edbfe734
1 changed files with 3 additions and 0 deletions

View File

@ -18,6 +18,9 @@ extern xcb_connection_t *conn;
* *
*/ */
static Rect total_outputs_dimensions(void) { static Rect total_outputs_dimensions(void) {
if (TAILQ_EMPTY(&outputs))
return (Rect){0, 0, root_screen->width_in_pixels, root_screen->height_in_pixels};
Output *output; Output *output;
/* Use Rect to encapsulate dimensions, ignoring x/y */ /* Use Rect to encapsulate dimensions, ignoring x/y */
Rect outputs_dimensions = {0, 0, 0, 0}; Rect outputs_dimensions = {0, 0, 0, 0};