From eed939f4c87c7016be8c3e913cdb1f620b29256f Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 23 Jun 2015 01:55:37 +0200 Subject: install PNG icon and use it to set GTK's window icon * it is installed into the package's data dir. It is always installed, even for Curses builds. This means when packaging for Debian, the icon could be part of the "sciteco-common" package. If there will ever be more GTK-specific files that need to be installed, this will probably change and the icon will be installed for GTK builds only and become part of the "sciteco-gtk" Debian package. * if the icon could not be loaded, we fail silently. * will not work with windows builds. On Windows, we should just use the icon resource linked into the binary rather than loading the image from file. --- src/interface-gtk.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/interface-gtk.cpp') diff --git a/src/interface-gtk.cpp b/src/interface-gtk.cpp index e01a2eb..ebc7cb1 100644 --- a/src/interface-gtk.cpp +++ b/src/interface-gtk.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include "gtk-info-popup.h" @@ -346,8 +347,21 @@ InterfaceGtk::widget_set_font(GtkWidget *widget, const gchar *font_name) void InterfaceGtk::event_loop_impl(void) { + GdkPixbuf *icon; GThread *thread; + /* + * Assign an icon to the window. + * If the file could not be found, we fail silently. + * On Windows, it may be better to load the icon compiled + * as a resource into the binary. + */ + icon = gdk_pixbuf_new_from_file(SCITECODATADIR G_DIR_SEPARATOR_S + "sciteco-48.png", + NULL); + if (icon) + gtk_window_set_icon(GTK_WINDOW(window), icon); + /* * When changing views, the new widget is not * added immediately to avoid flickering in the GUI. -- cgit v1.2.3