diff options
author | Andreas Proschofsky <suka@gentoo.org> | 2010-10-16 08:25:25 +0000 |
---|---|---|
committer | Andreas Proschofsky <suka@gentoo.org> | 2010-10-16 08:25:25 +0000 |
commit | fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e (patch) | |
tree | 8d0a6dfd0e896a0c6253dbf2de106492f9e04129 | |
parent | gnome2 eclasses in recent versions... (diff) | |
download | suka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.tar.gz suka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.tar.bz2 suka-fd29c1a75a88cd51b595c0f23c75e0b0c2a9cf1e.zip |
Add startup-notification with app-based patch for gnome-shell
svn path=/; revision=272
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" +} |