[virt-tools-list] [PATCH virt-viewer 4/4] window: keep window size when leaving auto-conf fullscreen
Marc-André Lureau
mlureau at redhat.com
Tue Mar 26 01:09:59 UTC 2013
----- Mensaje original -----
> Hi,
>
> On 03/25/2013 10:32 PM, Marc-André Lureau wrote:
> > On Mon, Mar 25, 2013 at 10:26 PM, Marc-André Lureau
> > <marcandre.lureau at gmail.com> wrote:
> >> + if (virt_viewer_app_get_fullscreen_auto_conf(priv->app)) {
> >
> > Actually, I realize the bug is about all kind of fullscreen. My
> > reasoning was that auto-conf is a bit special because it tries it
> > best
> > to keep client monitor configuration, rather than obeying to window
> > manager constrains. But that distincition is a bit blurry nowadays.
> >
> > So we can decide to use app_get_fullscreen() instead here.
>
> I agree that the problem is with all kinds of fullscreen, but only
> when we start fullscreen. so we've no priv->before_saved and then
> we end up with the very small windows for all monitors.
>
> It seems wrong to me to always try to keep the fullscreen size /
> resolution when we leave fullscreen. I think restoring the size
> and position from before going fullscreen is the right thing to
> do. Except when there is no size / position to restore, and I
> believe that in that case it does make sense to keep the window
> sizes as they were in fullscreen mode.
>
> So how about:
>
> if (priv->before_saved) {
> ...
> } else {
> virt_viewer_display_queue_resize(priv->display);
> }
>
That's ok, though we need to change the:
- if (!priv->before_saved) {
+ if (gtk_widget_get_realized(priv->window)) {
Which seems a reasonable change.
Also, I don't think we should set back priv->before_saved = FALSE, as it contains valid value from then on. And setting it back to FALSE might end up to queue_resize() if we call leave_fullscreen() twice for some reason.
More information about the virt-tools-list
mailing list