[virt-tools-list] [PATCH] Drop basic fullscreen mode

Marc-André Lureau mlureau at redhat.com
Wed Nov 6 15:55:39 UTC 2013



----- Original Message -----
> Remove the distinction between --full-screen and --full-screen=auto-conf.
> Just
> make --full-screen behave like auto-conf did.  There's really no advantage to
> having two slightly different fullscreen startup modes.

ack

> ---
>  man/remote-viewer.pod           | 10 ++++----
>  src/remote-viewer.c             |  4 +--
>  src/virt-viewer-app.c           | 56
>  +++--------------------------------------
>  src/virt-viewer-display-spice.c |  2 +-
>  src/virt-viewer-session-spice.c |  8 +-----
>  5 files changed, 11 insertions(+), 69 deletions(-)
> 
> diff --git a/man/remote-viewer.pod b/man/remote-viewer.pod
> index 3b887c8..6773c3b 100644
> --- a/man/remote-viewer.pod
> +++ b/man/remote-viewer.pod
> @@ -40,14 +40,14 @@ Display information about the connection
>  
>  Zoom level of the display window in percentage. Range 10-200.
>  
> -=item -f, --full-screen=<auto-conf>
> +=item -f, --full-screen
>  
>  Start with the windows maximized to fullscreen.
>  
> -If the argument 'auto-conf' is given, the remote display will be
> -reconfigured to match at best the client physical monitor configuration
> -on initialization, by enabling or disabling extra monitors as
> -necessary. This is currently implemented by the Spice backend only.
> +If supported, the remote display will be reconfigured to match at best the
> +client physical monitor configuration on initialization, by enabling or
> +disabling extra monitors as necessary. This is currently implemented by the
> +Spice backend only.
>  
>  =item -t TITLE, --title TITLE
>  
> diff --git a/src/remote-viewer.c b/src/remote-viewer.c
> index fa53690..d345f7a 100644
> --- a/src/remote-viewer.c
> +++ b/src/remote-viewer.c
> @@ -545,10 +545,8 @@ spice_ctrl_notified(SpiceCtrlController *ctrl,
>          virt_viewer_app_set_title(app, g_value_get_string(&value));
>      } else if (g_str_equal(pspec->name, "display-flags")) {
>          guint flags = g_value_get_uint(&value);
> -        gboolean fullscreen = !!(flags & CONTROLLER_SET_FULL_SCREEN);
> -        gboolean auto_res = !!(flags & CONTROLLER_AUTO_DISPLAY_RES);
> +        gboolean fullscreen = !!(flags & (CONTROLLER_SET_FULL_SCREEN |
> CONTROLLER_AUTO_DISPLAY_RES));
>          g_object_set(G_OBJECT(self), "fullscreen", fullscreen, NULL);
> -        g_object_set(G_OBJECT(self), "fullscreen-auto-conf", auto_res,
> NULL);
>      } else if (g_str_equal(pspec->name, "menu")) {
>          spice_ctrl_menu_updated(self);
>      } else if (g_str_equal(pspec->name, "hotkeys")) {
> diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
> index 978c322..e363cf0 100644
> --- a/src/virt-viewer-app.c
> +++ b/src/virt-viewer-app.c
> @@ -116,7 +116,6 @@ struct _VirtViewerAppPrivate {
>      gboolean authretry;
>      gboolean started;
>      gboolean fullscreen;
> -    gboolean fullscreen_auto_conf;
>      gboolean attach;
>      gboolean quitting;
>      gboolean kiosk;
> @@ -166,7 +165,6 @@ enum {
>      PROP_TITLE,
>      PROP_ENABLE_ACCEL,
>      PROP_HAS_FOCUS,
> -    PROP_FULLSCREEN_AUTO_CONF,
>      PROP_KIOSK,
>      PROP_QUIT_ON_DISCONNECT,
>  };
> @@ -347,8 +345,6 @@ virt_viewer_app_window_set_visible(VirtViewerApp *self,
>      g_return_val_if_fail(VIRT_VIEWER_IS_APP(self), FALSE);
>      g_return_val_if_fail(VIRT_VIEWER_IS_WINDOW(window), FALSE);
>  
> -    self->priv->fullscreen_auto_conf = FALSE;
> -
>      if (visible) {
>          virt_viewer_window_show(window);
>          return TRUE;
> @@ -706,7 +702,7 @@ display_show_hint(VirtViewerDisplay *display,
>                   "show-hint", &hint,
>                   NULL);
>  
> -    if (self->priv->fullscreen_auto_conf &&
> +    if (self->priv->fullscreen &&
>          nth >= gdk_screen_get_n_monitors(gdk_screen_get_default())) {
>          virt_viewer_window_hide(win);
>      } else if (hint & VIRT_VIEWER_DISPLAY_SHOW_HINT_DISABLED) {
> @@ -1345,10 +1341,6 @@ virt_viewer_app_get_property (GObject *object, guint
> property_id,
>          g_value_set_boolean(value, priv->focused > 0);
>          break;
>  
> -    case PROP_FULLSCREEN_AUTO_CONF:
> -        g_value_set_boolean(value,
> virt_viewer_app_get_fullscreen_auto_conf(self));
> -        break;
> -
>      case PROP_KIOSK:
>          g_value_set_boolean(value, priv->kiosk);
>          break;
> @@ -1398,10 +1390,6 @@ virt_viewer_app_set_property (GObject *object, guint
> property_id,
>          priv->enable_accel = g_value_get_boolean(value);
>          break;
>  
> -    case PROP_FULLSCREEN_AUTO_CONF:
> -        priv->fullscreen_auto_conf = g_value_get_boolean(value);
> -        break;
> -
>      case PROP_KIOSK:
>          virt_viewer_app_set_kiosk(self, g_value_get_boolean(value));
>          break;
> @@ -1476,7 +1464,6 @@ static gchar *opt_hotkeys = NULL;
>  static gboolean opt_verbose = FALSE;
>  static gboolean opt_debug = FALSE;
>  static gboolean opt_fullscreen = FALSE;
> -static gboolean opt_fullscreen_auto_conf = FALSE;
>  static gboolean opt_kiosk = FALSE;
>  static gboolean opt_kiosk_quit = FALSE;
>  
> @@ -1507,7 +1494,6 @@ virt_viewer_app_init (VirtViewerApp *self)
>      }
>  
>      self->priv->verbose = opt_verbose;
> -    self->priv->fullscreen_auto_conf = opt_fullscreen_auto_conf;
>      self->priv->quit_on_disconnect = opt_kiosk ? opt_kiosk_quit : TRUE;
>  }
>  
> @@ -1660,15 +1646,6 @@ virt_viewer_app_class_init (VirtViewerAppClass *klass)
>                                                           G_PARAM_STATIC_STRINGS));
>  
>      g_object_class_install_property(object_class,
> -                                    PROP_FULLSCREEN_AUTO_CONF,
> -
> g_param_spec_boolean("fullscreen-auto-conf",
> -                                                         "auto conf",
> -                                                         "Automatic display
> configuration in full screen",
> -                                                         FALSE,
> -                                                         G_PARAM_READWRITE |
> -
> G_PARAM_STATIC_STRINGS));
> -
> -    g_object_class_install_property(object_class,
>                                      PROP_TITLE,
>                                      g_param_spec_string("title",
>                                                          "Title",
> @@ -1896,14 +1873,6 @@ virt_viewer_app_get_fullscreen(VirtViewerApp *self)
>      return self->priv->fullscreen;
>  }
>  
> -gboolean
> -virt_viewer_app_get_fullscreen_auto_conf(VirtViewerApp *self)
> -{
> -    g_return_val_if_fail(VIRT_VIEWER_IS_APP(self), FALSE);
> -
> -    return self->priv->fullscreen_auto_conf;
> -}
> -
>  static void
>  virt_viewer_app_set_fullscreen(VirtViewerApp *self, gboolean fullscreen)
>  {
> @@ -2168,25 +2137,6 @@ virt_viewer_app_get_windows(VirtViewerApp *self)
>  }
>  
>  static gboolean
> -option_fullscreen(G_GNUC_UNUSED const gchar *option_name,
> -                  const gchar *value,
> -                  G_GNUC_UNUSED gpointer data, GError **error)
> -{
> -    opt_fullscreen = TRUE;
> -
> -    if (value == NULL)
> -        return TRUE;
> -
> -    if (g_str_equal(value, "auto-conf")) {
> -        opt_fullscreen_auto_conf = TRUE;
> -        return TRUE;
> -    }
> -
> -    g_set_error(error, G_OPTION_ERROR, G_OPTION_ERROR_FAILED, _("Invalid
> full-screen argument: %s"), value);
> -    return FALSE;
> -}
> -
> -static gboolean
>  option_kiosk_quit(G_GNUC_UNUSED const gchar *option_name,
>                    const gchar *value,
>                    G_GNUC_UNUSED gpointer data, GError **error)
> @@ -2210,8 +2160,8 @@ virt_viewer_app_get_options(void)
>      static const GOptionEntry options [] = {
>          { "zoom", 'z', 0, G_OPTION_ARG_INT, &opt_zoom,
>            N_("Zoom level of window, in percentage"), "ZOOM" },
> -        { "full-screen", 'f', G_OPTION_FLAG_OPTIONAL_ARG,
> G_OPTION_ARG_CALLBACK, option_fullscreen,
> -          N_("Open in full screen mode (auto-conf adjusts guest resolution
> to fit the client's)"), N_("<auto-conf>") },
> +        { "full-screen", 'f', 0, G_OPTION_ARG_NONE, &opt_fullscreen,
> +          N_("Open in full screen mode (adjusts guest resolution to fit the
> client)"), NULL },
>          { "hotkeys", 'H', 0, G_OPTION_ARG_STRING, &opt_hotkeys,
>            N_("Customise hotkeys"), NULL },
>          { "kiosk", 'k', 0, G_OPTION_ARG_NONE, &opt_kiosk,
> diff --git a/src/virt-viewer-display-spice.c
> b/src/virt-viewer-display-spice.c
> index 54c1672..1138b62 100644
> --- a/src/virt-viewer-display-spice.c
> +++ b/src/virt-viewer-display-spice.c
> @@ -288,7 +288,7 @@ fullscreen_changed(VirtViewerDisplaySpice *self,
>  {
>      if (virt_viewer_display_get_fullscreen(VIRT_VIEWER_DISPLAY(self))) {
>          gboolean auto_conf;
> -        g_object_get(app, "fullscreen-auto-conf", &auto_conf, NULL);
> +        g_object_get(app, "fullscreen", &auto_conf, NULL);
>          if (auto_conf)
>              self->priv->auto_resize = AUTO_RESIZE_NEVER;
>          else
> diff --git a/src/virt-viewer-session-spice.c
> b/src/virt-viewer-session-spice.c
> index b42d48e..4ed4aff 100644
> --- a/src/virt-viewer-session-spice.c
> +++ b/src/virt-viewer-session-spice.c
> @@ -716,18 +716,12 @@
> virt_viewer_session_spice_fullscreen_auto_conf(VirtViewerSessionSpice *self)
>      SpiceMainChannel* cmain =
>      virt_viewer_session_spice_get_main_channel(self);
>      VirtViewerApp *app = NULL;
>      GdkRectangle dest;
> -    gboolean auto_conf, agent_connected;
> +    gboolean agent_connected;
>      gint i;
>  
>      app = virt_viewer_session_get_app(VIRT_VIEWER_SESSION(self));
>      g_return_val_if_fail(VIRT_VIEWER_IS_APP(app), TRUE);
>  
> -    DEBUG_LOG("Checking full screen auto-conf");
> -    g_object_get(app, "fullscreen-auto-conf", &auto_conf, NULL);
> -    if (!auto_conf) {
> -        DEBUG_LOG("auto-conf disabled");
> -        return FALSE;
> -    }
>      if (!virt_viewer_app_get_fullscreen(app)) {
>          DEBUG_LOG("app is not in full screen");
>          return FALSE;
> --
> 1.8.3.1
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
> 




More information about the virt-tools-list mailing list