diff -Nup surf-2.1/surf.c surf-icon/surf.c --- surf-2.1/surf.c Sun May 9 19:34:33 2021 +++ surf-icon/surf.c Sat Oct 1 12:30:40 2022 @@ -39,6 +39,8 @@ enum { AtomFind, AtomGo, AtomUri, AtomLast }; +enum { Icon16x16, Icon32x32, Icon48x48, IconLast }; + enum { OnDoc = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT, OnLink = WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK, @@ -300,6 +302,7 @@ static ParamName loadfinished[] = { /* configuration, allows nested code to access above variables */ #include "config.h" +#include "surf.xpm" void die(const char *errstr, ...) @@ -325,6 +328,8 @@ setup(void) { GIOChannel *gchanin; GdkDisplay *gdpy; + GdkPixbuf *gpix; + GList *icons = NULL; int i, j; /* clean up any zombies immediately */ @@ -413,6 +418,17 @@ setup(void) if (defconfig[j].prio >= uriparams[i].config[j].prio) uriparams[i].config[j] = defconfig[j]; } + } + + /* set icons */ + for (i = 0; i < IconLast; i++) { + gpix = gdk_pixbuf_new_from_xpm_data(surf_xpm[i]); + icons = g_list_prepend(icons, gpix); + } + gtk_window_set_default_icon_list(icons); + for (i = 0; icons != NULL && i < IconLast; i++) { + g_object_unref(icons->data); + icons = g_list_remove_link(icons, icons); } } diff -Nup surf-2.1/surf.xpm surf-icon/surf.xpm --- surf-2.1/surf.xpm Wed Dec 31 21:00:00 1969 +++ surf-icon/surf.xpm Sat Oct 1 11:44:16 2022 @@ -0,0 +1,121 @@ +/* XPM */ + +static char * surf_16_xpm[] = { +"16 16 3 1", +" c None", +". c #FFFFFF", +"+ c #0A0A0A", +" ", +" ", +" ", +" ....", +" .+++", +" .+++", +".............++.", +".+++++.+++++++++", +".+++++.+++++++++", +".++.++.++.++.++.", +"+++.+++++.++.++.", +"+++.+++++.++.++.", +"................", +" ", +" ", +" "}; + +static char * surf_32_xpm[] = { +"32 32 3 1", +" c None", +". c #FFFFFF", +"+ c #000000", +" ", +" ", +" ", +" ", +" ", +" ", +" .........", +" .........", +" ..+++++++", +" ..+++++++", +" ..+++++++", +" ..+++....", +" ........................+++....", +" ........................+++....", +" ..++++++++...++++++++++++++++..", +" ..++++++++...++++++++++++++++..", +" ..++++++++...++++++++++++++++..", +" ..+++..+++...+++..+++...+++....", +"...+++..+++...+++..+++...+++....", +"...+++..+++...+++..+++...+++.. ", +"++++++..+++++++++..+++...+++.. ", +"++++++..+++++++++..+++...+++.. ", +"++++++..+++++++++..+++...+++.. ", +".............................. ", +".............................. ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; + +static char * surf_48_xpm[] = { +"48 48 3 1", +" c None", +". c #FFFFFF", +"+ c #000000", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ..............", +" ..............", +" ..............", +" ..............", +" ....++++++++..", +" ....++++++++..", +" ....++++++++..", +" ....++++++++..", +" ....................................++++......", +" ....................................++++......", +" ....................................++++......", +" ....................................++++......", +" ....++++++++++++....+++++++++++++++++++++++...", +" ....++++++++++++....+++++++++++++++++++++++...", +" ....++++++++++++....+++++++++++++++++++++++...", +" ....++++++++++++....+++++++++++++++++++++++...", +"......++++....++++....++++....++++....++++......", +"......++++....++++....++++....++++....++++......", +"......++++....++++....++++....++++....++++......", +"......++++....++++....++++....++++....++++......", +"..++++++++....++++++++++++....++++....++++.... ", +"..++++++++....++++++++++++....++++....++++.... ", +"..++++++++....++++++++++++....++++....++++.... ", +"..++++++++....++++++++++++....++++....++++.... ", +".............................................. ", +".............................................. ", +".............................................. ", +".............................................. ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; + +static char **surf_xpm[IconLast] = { + [Icon16x16] = surf_16_xpm, + [Icon32x32] = surf_32_xpm, + [Icon48x48] = surf_48_xpm, +};