Miguel Ibarra wrote:

Here's a patch to add optional libstartup-notification support to The
Gimp. This will allow desktop managers as Gnome's to entertain users
with a *so* funny clock cursor, while Gimp launches and initializes
itself.

I hope the maintainers find this worthy of being included in the main
distribution.

Regards,



------------------------------------------------------------------------

diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' gimp-1.2.5.orig/app/Makefile.am 
gimp-1.2.5/app/Makefile.am
--- gimp-1.2.5.orig/app/Makefile.am     Thu Feb 13 17:13:11 2003
+++ gimp-1.2.5/app/Makefile.am  Thu Jul 24 15:42:13 2003
@@ -464,6 +464,7 @@
        -I$(top_srcdir)                 \
        -I$(top_srcdir)/intl            \
        $(GTK_CFLAGS)                   \
+       $(STARTUP_NOTIFICATION_CFLAGS)  \
        -I$(includedir)

gimp_1_2_LDADD = \
@@ -474,6 +475,7 @@
        $(GTK_LIBS)                             \
        $(GIMP_THREAD_LIBS)                     \
        $(GIMP_MP_LIBS)                         \
+       $(STARTUP_NOTIFICATION_LIBS)            \
        $(INTLLIBS)

gimp-win32res.o : gimp.rc
diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' gimp-1.2.5.orig/app/app_procs.c 
gimp-1.2.5/app/app_procs.c
--- gimp-1.2.5.orig/app/app_procs.c     Thu Apr  3 17:59:30 2003
+++ gimp-1.2.5/app/app_procs.c  Thu Jul 24 15:42:31 2003
@@ -349,11 +349,59 @@
static GtkWidget *label2 = NULL;
static GtkWidget *pbar   = NULL;

+#ifdef HAVE_STARTUP_NOTIFICATION
+#define SN_API_NOT_YET_FROZEN
+#include <libsn/sn-launchee.h>
+#include <gdk/gdkx.h>
+
+static void
+sn_error_trap_push (SnDisplay *display,
+ Display *xdisplay)
+{
+ gdk_error_trap_push ();
+}
+ +static void
+sn_error_trap_pop (SnDisplay *display,
+ Display *xdisplay)
+{
+ gdk_error_trap_pop ();
+}
+
+static void
+startup_notification_complete(void)
+{
+ SnDisplay *sn_display = NULL;
+ SnLauncheeContext *context = NULL;
+ Display *xdisplay;
+
+ xdisplay = GDK_WINDOW_XDISPLAY(win_initstatus->window);
+ sn_display = sn_display_new (xdisplay,
+ sn_error_trap_push,
+ sn_error_trap_pop);
+ + context = sn_launchee_context_new_from_environment (sn_display,
+ DefaultScreen(xdisplay));
+
+ if (context != NULL)
+ {
+ sn_launchee_context_complete (context);
+ sn_launchee_context_unref (context);
+ sn_display_unref (sn_display);
+ }
+
+}
+#endif
+
static void
destroy_initialization_status_window (void)
{
if (win_initstatus)
{
+ #ifdef HAVE_STARTUP_NOTIFICATION
+ startup_notification_complete();
+ #endif
+
gtk_widget_destroy (win_initstatus);


      if (logo_pixmap != NULL)
@@ -362,6 +410,7 @@
      logo_pixmap = NULL;
      win_initstatus = label1 = label2 = pbar = logo_area = NULL;
    }
+
}

static void
diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' gimp-1.2.5.orig/configure.in 
gimp-1.2.5/configure.in
--- gimp-1.2.5.orig/configure.in        Sun Jun  1 22:54:58 2003
+++ gimp-1.2.5/configure.in     Thu Jul 24 15:41:48 2003
@@ -748,6 +748,8 @@
*** --disable-print to configure (but you won't be able to print then).])
fi

+dnl This is for startup notification
+PKG_CHECK_MODULES(STARTUP_NOTIFICATION, libstartup-notification-1.0 >= 0.5, 
AC_DEFINE([HAVE_STARTUP_NOTIFICATION],[], [Should we use libstartup-notification]) echo "Building with 
libstartup-notification", echo "Building without libstartup-notification")

dnl This is for the gimp-perl plug-in
AC_ARG_ENABLE(perl, [  --disable-perl          do not build perl extension [by default 
enabled]
@@ -931,6 +933,9 @@
AC_SUBST(GIMP_PLUGINS)
AC_SUBST(GIMP_MODULES)

+AC_SUBST(STARTUP_NOTIFICATION_CFLAGS)
+AC_SUBST(STARTUP_NOTIFICATION_LIBS)
+
dnl Output the Makefiles

AC_OUTPUT([




this sounds really really cool.

can we start with this on the web site (or on the wiki) and make downloadable plugins?

remove some of our favorite plugins, make sure they are tidy,
and put them back on line with some *help* and *explainations*?

please?

carol



_______________________________________________
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer

Reply via email to