Re: [Gimp-developer] Startup Notification support...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux