aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ephy-window.c')
-rw-r--r--src/ephy-window.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index c93689f54..854b2d9c8 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -1451,6 +1451,40 @@ ephy_window_class_init (EphyWindowClass *klass)
}
static void
+ensure_default_icon (void)
+{
+ static gboolean ephy_has_default_icon = FALSE;
+ GtkIconTheme *icon_theme;
+ GtkIconInfo *icon_info;
+ const char *icon_file;
+
+ if (ephy_has_default_icon) return;
+
+ /* FIXME listen on icon changes */
+ /* FIXME MultiHead: icon theme is per-display, not global */
+ icon_theme = gtk_icon_theme_get_default ();
+ icon_info = gtk_icon_theme_lookup_icon (icon_theme, "web-browser", -1, 0);
+
+ if (icon_info)
+ {
+
+ icon_file = gtk_icon_info_get_filename (icon_info);
+ if (icon_file)
+ {
+ gtk_window_set_default_icon_from_file (icon_file, NULL);
+ }
+
+ gtk_icon_info_free (icon_info);
+ }
+ else
+ {
+ g_warning ("Web browser gnome icon not found");
+ }
+
+ ephy_has_default_icon = TRUE;
+}
+
+static void
ephy_window_init (EphyWindow *window)
{
EphyExtension *manager;
@@ -1468,6 +1502,8 @@ ephy_window_init (EphyWindow *window)
window->priv->is_fullscreen = FALSE;
window->priv->has_size = FALSE;
+ ensure_default_icon ();
+
/* Setup the window and connect verbs */
setup_window (window);