summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Proschofsky <suka@gentoo.org>2010-10-16 08:25:25 +0000
committerAndreas Proschofsky <suka@gentoo.org>2010-10-16 08:25:25 +0000
commitfd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e (patch)
tree8d0a6dfd0e896a0c6253dbf2de106492f9e04129
parentgnome2 eclasses in recent versions... (diff)
downloadsuka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.tar.gz
suka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.tar.bz2
suka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.zip
Add startup-notification with app-based patch for gnome-shell
svn path=/; revision=272
-rw-r--r--x11-libs/startup-notification/Manifest4
-rw-r--r--x11-libs/startup-notification/files/startup-notification-0.10-application-based.patch173
-rw-r--r--x11-libs/startup-notification/files/startup-notification-0.10-tests.patch14
-rw-r--r--x11-libs/startup-notification/startup-notification-0.10-r1.ebuild44
4 files changed, 235 insertions, 0 deletions
diff --git a/x11-libs/startup-notification/Manifest b/x11-libs/startup-notification/Manifest
new file mode 100644
index 0000000..2de6267
--- /dev/null
+++ b/x11-libs/startup-notification/Manifest
@@ -0,0 +1,4 @@
+AUX startup-notification-0.10-application-based.patch 6159 RMD160 2b5c9318a18e7c2725605ede03501df7e9836c17 SHA1 740ffcae8482baa0938d9203bfa265dd2a182c3e SHA256 81c488a458c3ecfc3e623f5aed6f23a49b1275c2c50e8ccc7a8831979060da0c
+AUX startup-notification-0.10-tests.patch 408 RMD160 6a2d9310b3dabd4264a65ca22be718dc7688678f SHA1 07478c3408779e115df5aea3229259cc6985725e SHA256 379caf2a12757163179d5a490c6d1fe346f70a8db4f9b9af609aba28db1b8452
+DIST startup-notification-0.10.tar.gz 328787 RMD160 de905634db3263d24b69ae42887111b7ff95b3ba SHA1 670c5e44f59e3844e2ca0c67730ba9ca5f5228fc SHA256 64bbeb5c28619721fc19d6920ad2b8bf6c0dc3a0e96a1b0bc26f480fbc525459
+EBUILD startup-notification-0.10-r1.ebuild 1280 RMD160 d9afd3fe258e4eadeaa8b8de1b81223b35ba2618 SHA1 9df374f96917a59f2a4c17e5b11e23b9ce349c99 SHA256 61c60ee8ebfcc138fc3faf7fb5ec866246b3a9b4bc82ee1593784784e76cf9e9
diff --git a/x11-libs/startup-notification/files/startup-notification-0.10-application-based.patch b/x11-libs/startup-notification/files/startup-notification-0.10-application-based.patch
new file mode 100644
index 0000000..34ddae5
--- /dev/null
+++ b/x11-libs/startup-notification/files/startup-notification-0.10-application-based.patch
@@ -0,0 +1,173 @@
+From 1b14d72976741afc33d9f7fac22e20b831e47e1f Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 25 Feb 2010 20:33:54 +0000
+Subject: Support APPLICATION_ID key
+
+For moving GNOME to an application-based system, it's useful if
+launcher systems say which .desktop file they're launching, so
+that we can show it as the current focus even while a launch is
+in progress.
+
+Signed-off-by: Julien Danjou <julien@danjou.info>
+---
+diff --git a/doc/startup-notification.txt b/doc/startup-notification.txt
+index cf5b250..dd1ccc2 100644
+--- a/doc/startup-notification.txt
++++ b/doc/startup-notification.txt
+@@ -300,6 +300,16 @@ The following keys may be provided optionally in either a "new" or a
+ have their window mapped on the desktop specified by
+ the value of DESKTOP.
+
++ APPLICATION_ID
++
++ When launching an application using a .desktop file from
++ the normal application paths (see desktop file specification),
++ this should be basename of the .desktop file.
++ For example: "foo.desktop".
++
++ When launching a .desktop file NOT in the paths, this should
++ be an absolute path to the .desktop file.
++
+ Some details of the startup sequence:
+
+ - "new" and "change" messages are sent by the launcher code
+diff --git a/libsn/sn-launcher.c b/libsn/sn-launcher.c
+index 21344cd..089b5c2 100644
+--- a/libsn/sn-launcher.c
++++ b/libsn/sn-launcher.c
+@@ -44,6 +44,7 @@ struct SnLauncherContext
+ char *wmclass;
+ char *binary_name;
+ char *icon_name;
++ char *application_id;
+ struct timeval initiation_time;
+ unsigned int completed : 1;
+ unsigned int canceled : 1;
+@@ -121,6 +122,7 @@ sn_launcher_context_unref (SnLauncherContext *context)
+ sn_free (context->wmclass);
+ sn_free (context->binary_name);
+ sn_free (context->icon_name);
++ sn_free (context->application_id);
+
+ sn_display_unref (context->display);
+ sn_free (context);
+@@ -266,9 +268,16 @@ sn_launcher_context_initiate (SnLauncherContext *context,
+ values[i] = context->icon_name;
+ ++i;
+ }
+-
++
++ if (context->application_id != NULL)
++ {
++ names[i] = "APPLICATION_ID";
++ values[i] = context->application_id;
++ ++i;
++ }
++
+ assert (i < MAX_PROPS);
+-
++
+ names[i] = NULL;
+ values[i] = NULL;
+
+@@ -433,6 +442,16 @@ sn_launcher_context_set_icon_name (SnLauncherContext *context,
+ }
+
+ void
++sn_launcher_set_application_id (SnLauncherContext *context,
++ const char *desktop_file)
++{
++ WARN_ALREADY_INITIATED (context);
++
++ sn_free (context->application_id);
++ context->application_id = sn_internal_strdup (desktop_file);
++}
++
++void
+ sn_launcher_context_set_extra_property (SnLauncherContext *context,
+ const char *name,
+ const char *value)
+diff --git a/libsn/sn-launcher.h b/libsn/sn-launcher.h
+index f88f11c..9cd34fd 100644
+--- a/libsn/sn-launcher.h
++++ b/libsn/sn-launcher.h
+@@ -61,6 +61,8 @@ void sn_launcher_context_set_binary_name (SnLauncherContext *context,
+ const char *name);
+ void sn_launcher_context_set_icon_name (SnLauncherContext *context,
+ const char *name);
++void sn_launcher_context_set_application_id (SnLauncherContext *context,
++ const char *desktop_file);
+
+ void sn_launcher_context_set_extra_property (SnLauncherContext *context,
+ const char *name,
+diff --git a/libsn/sn-monitor.c b/libsn/sn-monitor.c
+index 223473a..035d523 100644
+--- a/libsn/sn-monitor.c
++++ b/libsn/sn-monitor.c
+@@ -66,7 +66,8 @@ struct SnStartupSequence
+ Time timestamp;
+
+ char *binary_name;
+- char *icon_name;
++ char *icon_name;
++ char *application_id;
+
+ unsigned int completed : 1;
+ unsigned int canceled : 1;
+@@ -269,7 +270,8 @@ sn_startup_sequence_unref (SnStartupSequence *sequence)
+ sn_free (sequence->wmclass);
+ sn_free (sequence->binary_name);
+ sn_free (sequence->icon_name);
+-
++ sn_free (sequence->application_id);
++
+ sn_display_unref (sequence->display);
+ sn_free (sequence);
+ }
+@@ -337,6 +339,12 @@ sn_startup_sequence_get_icon_name (SnStartupSequence *sequence)
+ return sequence->icon_name;
+ }
+
++const char*
++sn_startup_sequence_get_application_id (SnStartupSequence *sequence)
++{
++ return sequence->application_id;
++}
++
+ int
+ sn_startup_sequence_get_screen (SnStartupSequence *sequence)
+ {
+@@ -805,10 +813,18 @@ xmessage_func (SnDisplay *display,
+ changed = TRUE;
+ }
+ }
++ else if (strcmp (names[i], "APPLICATION_ID") == 0)
++ {
++ if (sequence->application_id == NULL)
++ {
++ sequence->application_id = sn_internal_strdup (values[i]);
++ changed = TRUE;
++ }
++ }
+ else if (strcmp (names[i], "DESKTOP") == 0)
+ {
+ int workspace;
+-
++
+ workspace = sn_internal_string_to_ulong (values[i]);
+
+ sequence->workspace = workspace;
+diff --git a/libsn/sn-monitor.h b/libsn/sn-monitor.h
+index 15a38d7..b58581f 100644
+--- a/libsn/sn-monitor.h
++++ b/libsn/sn-monitor.h
+@@ -73,6 +73,7 @@ Time sn_startup_sequence_get_timestamp (SnStartupSequence *se
+ const char* sn_startup_sequence_get_wmclass (SnStartupSequence *sequence);
+ const char* sn_startup_sequence_get_binary_name (SnStartupSequence *sequence);
+ const char* sn_startup_sequence_get_icon_name (SnStartupSequence *sequence);
++const char* sn_startup_sequence_get_application_id (SnStartupSequence *sequence);
+ int sn_startup_sequence_get_screen (SnStartupSequence *sequence);
+
+ void sn_startup_sequence_get_initiated_time (SnStartupSequence *sequence,
+--
+cgit v0.8.3-6-g21f6
diff --git a/x11-libs/startup-notification/files/startup-notification-0.10-tests.patch b/x11-libs/startup-notification/files/startup-notification-0.10-tests.patch
new file mode 100644
index 0000000..612d0b1
--- /dev/null
+++ b/x11-libs/startup-notification/files/startup-notification-0.10-tests.patch
@@ -0,0 +1,14 @@
+Do not build tests unless required.
+
+Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=226257
+--- a/test/Makefile.am 2009-04-03 16:56:51.000000000 +0200
++++ b/test/Makefile.am 2009-07-26 12:08:44.855802976 +0200
+@@ -16,7 +16,7 @@
+ test-launcher-xcb \
+ test-watch-xmessages-xcb
+
+-noinst_PROGRAMS=$(XLIB_TEST) $(XCB_TEST)
++check_PROGRAMS=$(XLIB_TEST) $(XCB_TEST)
+
+ test_launcher_SOURCES= test-launcher.c
+
diff --git a/x11-libs/startup-notification/startup-notification-0.10-r1.ebuild b/x11-libs/startup-notification/startup-notification-0.10-r1.ebuild
new file mode 100644
index 0000000..57a9406
--- /dev/null
+++ b/x11-libs/startup-notification/startup-notification-0.10-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/startup-notification/startup-notification-0.10.ebuild,v 1.11 2010/01/15 22:10:10 fauli Exp $
+
+EAPI="2"
+WANT_AUTOMAKE="1.10"
+
+inherit autotools
+
+DESCRIPTION="Application startup notification and feedback library"
+HOMEPAGE="http://www.freedesktop.org/software/startup-notification"
+SRC_URI="http://freedesktop.org/software/${PN}/releases/${P}.tar.gz"
+
+LICENSE="LGPL-2 BSD"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libSM
+ x11-libs/libICE
+ x11-libs/libxcb
+ >=x11-libs/xcb-util-0.3"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-proto/xproto
+ x11-libs/libXt"
+
+src_prepare() {
+ # Do not build tests unless required
+ epatch "${FILESDIR}/${P}-tests.patch"
+ epatch "${FILESDIR}/${P}-application-based.patch"
+
+ eautomake
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed."
+ dodoc AUTHORS ChangeLog NEWS README doc/startup-notification.txt || die "dodoc failed"
+}