use the inline image data for default icon

2001-09-17  Havoc Pennington  <hp@pobox.com>

	* src/ui.c: use the inline image data for default icon

	* src/common.h (META_MINI_ICON_HEIGHT): move icon size defines
	here

	* src/Makefile.am: Create an inlinepixbufs.h header with inline
	images
This commit is contained in:
Havoc Pennington 2001-09-17 04:42:37 +00:00 committed by Havoc Pennington
parent ecf75915c7
commit 4c104e1cb7
7 changed files with 78 additions and 18 deletions

View File

@ -1,3 +1,13 @@
2001-09-17 Havoc Pennington <hp@pobox.com>
* src/ui.c: use the inline image data for default icon
* src/common.h (META_MINI_ICON_HEIGHT): move icon size defines
here
* src/Makefile.am: Create an inlinepixbufs.h header with inline
images
2001-09-16 Havoc Pennington <hp@pobox.com> 2001-09-16 Havoc Pennington <hp@pobox.com>
* src/session.c (process_ice_messages): disconnect this callback * src/session.c (process_ice_messages): disconnect this callback

View File

@ -67,6 +67,14 @@ AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "true")
HOST_ALIAS=$host_alias HOST_ALIAS=$host_alias
AC_SUBST(HOST_ALIAS) AC_SUBST(HOST_ALIAS)
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
if test x"$GDK_PIXBUF_CSOURCE" = xno; then
AC_MSG_ERROR([gdk-pixbuf-csource executable not found in your path - should be installed with GTK])
fi
AC_SUBST(GDK_PIXBUF_CSOURCE)
AC_OUTPUT([ AC_OUTPUT([
Makefile Makefile
src/Makefile src/Makefile

View File

@ -53,5 +53,13 @@ metacity_LDADD= @METACITY_LIBS@
desktopfilesdir=$(datadir)/gnome/wm-properties desktopfilesdir=$(datadir)/gnome/wm-properties
desktopfiles_DATA=metacity.desktop desktopfiles_DATA=metacity.desktop
EXTRA_DIST=$(desktopfiles_DATA) IMAGES=default_icon.png
VARIABLES=default_icon_data default_icon.png
noinst_DATA = inlinepixbufs.h
CLEANFILES += $(noinst_DATA)
inlinepixbufs.h: $(IMAGES)
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
EXTRA_DIST=$(desktopfiles_DATA) $(IMAGES)

View File

@ -122,6 +122,13 @@ typedef enum
} MetaCursor; } MetaCursor;
/* should investigate changing these to whatever most apps use */
#define META_ICON_WIDTH 32
#define META_ICON_HEIGHT 32
#define META_MINI_ICON_WIDTH 16
#define META_MINI_ICON_HEIGHT 16
#endif #endif

BIN
src/default_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

View File

@ -26,13 +26,6 @@
#include <X11/Xutil.h> #include <X11/Xutil.h>
#include "ui.h" #include "ui.h"
/* should investigate changing these to whatever most apps use */
#define META_ICON_WIDTH 32
#define META_ICON_HEIGHT 32
#define META_MINI_ICON_WIDTH 16
#define META_MINI_ICON_HEIGHT 16
typedef void (* MetaScreenWindowFunc) (MetaScreen *screen, MetaWindow *window, typedef void (* MetaScreenWindowFunc) (MetaScreen *screen, MetaWindow *window,
gpointer user_data); gpointer user_data);

View File

@ -25,6 +25,8 @@
#include "menu.h" #include "menu.h"
#include "core.h" #include "core.h"
#include "inlinepixbufs.h"
struct _MetaUI struct _MetaUI
{ {
Display *xdisplay; Display *xdisplay;
@ -422,21 +424,53 @@ meta_ui_pop_delay_exposes (MetaUI *ui)
GdkPixbuf* GdkPixbuf*
meta_ui_get_default_window_icon (MetaUI *ui) meta_ui_get_default_window_icon (MetaUI *ui)
{ {
/* FIXME */ static GdkPixbuf *default_icon = NULL;
return gtk_widget_render_icon (GTK_WIDGET (ui->frames),
GTK_STOCK_NEW, if (default_icon == NULL)
GTK_ICON_SIZE_LARGE_TOOLBAR, {
NULL); GdkPixbuf *base;
base = gdk_pixbuf_new_from_stream (-1, default_icon_data,
FALSE,
NULL);
g_assert (base);
default_icon = gdk_pixbuf_scale_simple (base,
META_ICON_WIDTH,
META_ICON_HEIGHT,
GDK_INTERP_BILINEAR);
g_object_unref (G_OBJECT (base));
}
return default_icon;
} }
GdkPixbuf* GdkPixbuf*
meta_ui_get_default_mini_icon (MetaUI *ui) meta_ui_get_default_mini_icon (MetaUI *ui)
{ {
/* FIXME */ static GdkPixbuf *default_icon = NULL;
return gtk_widget_render_icon (GTK_WIDGET (ui->frames),
GTK_STOCK_NEW, if (default_icon == NULL)
GTK_ICON_SIZE_MENU, {
NULL); GdkPixbuf *base;
base = gdk_pixbuf_new_from_stream (-1, default_icon_data,
FALSE,
NULL);
g_assert (base);
default_icon = gdk_pixbuf_scale_simple (base,
META_MINI_ICON_WIDTH,
META_MINI_ICON_HEIGHT,
GDK_INTERP_BILINEAR);
g_object_unref (G_OBJECT (base));
}
return default_icon;
} }
gboolean gboolean