wayland: set fs mode on every configure

Check and set the fullscreen mode on every surface configure event.
This prevents gnome from resizing mpvs fullscreen window to a smaller size.
This commit is contained in:
Alexander Preisinger 2016-02-07 15:38:07 +01:00
parent 77cb44d759
commit eb6b2b6e50
1 changed files with 6 additions and 5 deletions

View File

@ -141,6 +141,11 @@ static void ssurface_handle_configure(void *data,
{
struct vo_wayland_state *wl = data;
schedule_resize(wl, edges, width, height);
// check for every resize if the window is in fullscreen mode and reset the
// mode accordingly, this prevents gnome from resizing mpvs fullscreen
// window to a smaller size
vo_wayland_fullscreen(wl->vo);
}
static void ssurface_handle_popup_done(void *data,
@ -1051,7 +1056,6 @@ static void vo_wayland_ontop (struct vo *vo)
MP_DBG(wl, "going ontop\n");
vo->opts->ontop = 1;
window_set_toplevel(wl);
schedule_resize(wl, 0, wl->window.width, wl->window.height);
}
static void vo_wayland_fullscreen (struct vo *vo)
@ -1076,7 +1080,6 @@ static void vo_wayland_fullscreen (struct vo *vo)
MP_DBG(wl, "leaving fullscreen\n");
wl->window.is_fullscreen = false;
window_set_toplevel(wl);
schedule_resize(wl, 0, wl->window.p_width, wl->window.p_height);
}
}
@ -1224,9 +1227,6 @@ static void vo_wayland_update_screeninfo(struct vo *vo, struct mp_rect *screenrc
screenrc->y1 = wl->display.current_output->height;
}
}
wl->window.fs_width = screenrc->x1;
wl->window.fs_height = screenrc->y1;
}
int vo_wayland_control (struct vo *vo, int *events, int request, void *arg)
@ -1301,6 +1301,7 @@ bool vo_wayland_config (struct vo *vo)
wl->window.width = vo->dwidth;
wl->window.height = vo->dheight;
vo_wayland_fullscreen(vo);
return true;