[Xfce4-commits] <parole:master> Remember window size and maximization across sessions

Sean Davis noreply at xfce.org
Fri Oct 11 11:52:14 CEST 2013


Updating branch refs/heads/master
         to 9b5f3d70a1ab846c2407f757a68b3fbe8c60d486 (commit)
       from 47326162d61d91bddbba2865bc01f72bb0eaa810 (commit)

commit 9b5f3d70a1ab846c2407f757a68b3fbe8c60d486
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Sat Sep 14 07:58:12 2013 -0400

    Remember window size and maximization across sessions

 src/parole-conf.c   |   20 ++++++++++++++++++--
 src/parole-player.c |   11 +++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/parole-conf.c b/src/parole-conf.c
index 3d344a8..f5e8683 100644
--- a/src/parole-conf.c
+++ b/src/parole-conf.c
@@ -78,7 +78,8 @@ enum
     PROP_SATURATION,
     /* Window properties */
     PROP_WINDOW_HEIGHT,
-    PROP_MINIMIZED,
+    PROP_WINDOW_MAXIMIZED,
+    PROP_WINDOW_MINIMIZED,
     PROP_WINDOW_WIDTH,
     N_PROP
 };
@@ -753,12 +754,27 @@ parole_conf_class_init (ParoleConfClass *klass)
      * If Parole should start minimized.
      **/
     g_object_class_install_property (object_class,
-                                     PROP_MINIMIZED,
+                                     PROP_WINDOW_MINIMIZED,
                                      g_param_spec_boolean ("minimized",
                                             "/window/minimized", 
                                             NULL,
                                             FALSE,
                                             G_PARAM_READWRITE));
+                                            
+    /**
+     * ParoleConf:maximized:
+     *
+     * Xfconf property: /window/maximized
+     * 
+     * If Parole should start maximized.
+     **/
+    g_object_class_install_property (object_class,
+                                     PROP_WINDOW_MINIMIZED,
+                                     g_param_spec_boolean ("window-maximized",
+                                            "/window/maximized", 
+                                            NULL,
+                                            FALSE,
+                                            G_PARAM_READWRITE));
 
     /**
      * ParoleConf:window-width:
diff --git a/src/parole-player.c b/src/parole-player.c
index 838ddff..1b9d572 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -1877,6 +1877,13 @@ parole_player_window_state_event (GtkWidget *widget,
         g_object_set (G_OBJECT (player->priv->conf),
                       "window-width", player->priv->last_w,
                       "window-height", player->priv->last_h,
+                      "window-maximized", TRUE,
+                      NULL);
+    }
+    else
+    {
+        g_object_set (G_OBJECT (player->priv->conf),
+                      "window-maximized", FALSE,
                       NULL);
     }
 
@@ -2816,6 +2823,7 @@ parole_player_init (ParolePlayer *player)
     GtkWidget *output, *icon;
     GtkBuilder *builder;
     gint w, h;
+    gboolean maximized;
     gboolean showhide;
     GdkColor background;
     
@@ -3287,6 +3295,7 @@ parole_player_init (ParolePlayer *player)
     g_object_get (G_OBJECT (player->priv->conf),
                   "window-width", &w,
                   "window-height", &h,
+                  "window-maximized", &maximized,
                   NULL);
                   
     player->priv->last_w = w;
@@ -3296,6 +3305,8 @@ parole_player_init (ParolePlayer *player)
     
     gtk_window_set_default_size (GTK_WINDOW (player->priv->window), w, h);
     gtk_window_resize (GTK_WINDOW (player->priv->window), w, h);
+    if (maximized)
+        gtk_window_maximize(GTK_WINDOW (player->priv->window));
     
     gtk_widget_show_all (player->priv->window);
 


More information about the Xfce4-commits mailing list