static void gsd_media_keys_window_init (GsdMediaKeysWindow *window) { GdkScreen *screen; window->priv = GSD_MEDIA_KEYS_WINDOW_GET_PRIVATE (window); screen = gtk_widget_get_screen (GTK_WIDGET (window)); window->priv->is_composited = gdk_screen_is_composited (screen); if (window->priv->is_composited) { gdouble scalew, scaleh, scale; gint size; gtk_window_set_decorated (GTK_WINDOW (window), FALSE); gtk_widget_set_app_paintable (GTK_WIDGET (window), TRUE); /* assume 130x130 on a 640x480 display and scale from there */ scalew = gdk_screen_get_width (screen) / 640.0; scaleh = gdk_screen_get_height (screen) / 480.0; scale = MIN (scalew, scaleh); size = 130 * MAX (1, scale); gtk_window_set_default_size (GTK_WINDOW (window), size, size); g_signal_connect (window, "expose-event", G_CALLBACK (on_expose_event), window); window->priv->fade_out_alpha = 1.0; } else { GtkBuilder *builder; const gchar *objects[] = {"acme_frame", NULL}; GtkWidget *frame; builder = gtk_builder_new (); gtk_builder_add_objects_from_file (builder, GTKBUILDERDIR "/acme.ui", (char **) objects, NULL); window->priv->image = GTK_IMAGE (gtk_builder_get_object (builder, "acme_image")); window->priv->progress = GTK_WIDGET (gtk_builder_get_object (builder, "acme_volume_progressbar")); frame = GTK_WIDGET (gtk_builder_get_object (builder, "acme_frame")); if (frame != NULL) { gtk_container_add (GTK_CONTAINER (window), frame); gtk_widget_show_all (frame); } /* The builder needs to stay alive until the window takes ownership of the frame (and its children) */ g_object_unref (builder); } }
static void gsd_media_keys_window_init (GsdMediaKeysWindow *window) { GdkScreen *screen; window->priv = GSD_MEDIA_KEYS_WINDOW_GET_PRIVATE (window); screen = gtk_widget_get_screen (GTK_WIDGET (window)); initialize_alpha_mode (window, screen); if (window->priv->is_composited) { gdouble scalew, scaleh, scale; gint size; gtk_window_set_decorated (GTK_WINDOW (window), FALSE); gtk_widget_set_app_paintable (GTK_WIDGET (window), TRUE); /* assume 130x130 on a 640x480 display and scale from there */ scalew = gdk_screen_get_width (screen) / 640.0; scaleh = gdk_screen_get_height (screen) / 480.0; scale = MIN (scalew, scaleh); size = 130 * MAX (1, scale); gtk_window_set_default_size (GTK_WINDOW (window), size, size); g_signal_connect (window, "expose-event", G_CALLBACK (on_expose_event), window); window->priv->fade_out_alpha = 1.0; } else { GladeXML *xml; GtkWidget *frame; xml = glade_xml_new (GLADEDIR "/acme.glade", "acme_frame", NULL); window->priv->image = GTK_IMAGE (glade_xml_get_widget (xml, "acme_image")); window->priv->progress = glade_xml_get_widget (xml, "acme_volume_progressbar"); frame = glade_xml_get_widget (xml, "acme_frame"); g_object_unref (xml); if (frame != NULL) { gtk_container_add (GTK_CONTAINER (window), frame); gtk_widget_show_all (frame); } } }
static void gsd_media_keys_window_init (GsdMediaKeysWindow *window) { window->priv = GSD_MEDIA_KEYS_WINDOW_GET_PRIVATE (window); }