diff --git a/src/panel.c b/src/panel.c index 32cf21267b350e37360c3eb26e819e83827ebe5d..15052c3b08df68b23559f6b73e61b43a3a2225b5 100644 --- a/src/panel.c +++ b/src/panel.c @@ -27,6 +27,7 @@ static guint signals[N_SIGNALS] = { 0 }; struct PhoshPanelPrivate { GtkWidget *btn_favorites; GtkWidget *btn_settings; + gint height; GnomeWallClock *wall_clock; }; @@ -70,6 +71,15 @@ wall_clock_notify_cb (GnomeWallClock *wall_clock, } +static void +size_allocated_cb (PhoshPanel *self, gpointer unused) +{ + gint width; + PhoshPanelPrivate *priv = phosh_panel_get_instance_private (self); + + gtk_window_get_size (GTK_WINDOW (self), &width, &priv->height); +} + static void phosh_panel_constructed (GObject *object) { @@ -96,6 +106,10 @@ phosh_panel_constructed (GObject *object) G_CALLBACK (settings_clicked_cb), self, G_CONNECT_SWAPPED); + g_signal_connect (self, + "size-allocate", + G_CALLBACK (size_allocated_cb), + NULL); /* window properties */ gtk_window_set_title (GTK_WINDOW (self), "phosh panel"); @@ -169,3 +183,11 @@ phosh_panel_new (void) return g_object_new (PHOSH_PANEL_TYPE, NULL); } + +gint +phosh_panel_get_height (PhoshPanel *self) +{ + PhoshPanelPrivate *priv = phosh_panel_get_instance_private (self); + + return priv->height; +} diff --git a/src/panel.h b/src/panel.h index b78e769a1da7347afcbd44767e06c32f3d997f10..7e76c49f2fcd2fa2689a27451e7a1916c63f543e 100644 --- a/src/panel.h +++ b/src/panel.h @@ -35,5 +35,6 @@ struct PhoshPanelClass GType phosh_panel_get_type (void) G_GNUC_CONST; GtkWidget * phosh_panel_new (void); +gint phosh_panel_get_height (PhoshPanel *self); #endif /* PHOSH_PANEL_H */