[jhbuild] core-3.0: use startup-notification 0.10 with patch
- From: William Jon McCann <mccann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] core-3.0: use startup-notification 0.10 with patch
- Date: Mon, 7 Mar 2011 05:35:09 +0000 (UTC)
commit 42858075b9cee62aad16a5c3d709297598d62384
Author: William Jon McCann <jmccann redhat com>
Date: Mon Mar 7 00:34:38 2011 -0500
core-3.0: use startup-notification 0.10 with patch
Required by gnome-shell.
modulesets/gnome-suites-core-deps-3.0.modules | 9 +-
.../startup-notification-0.10-support-app-id.patch | 173 ++++++++++++++++++++
2 files changed, 178 insertions(+), 4 deletions(-)
---
diff --git a/modulesets/gnome-suites-core-deps-3.0.modules b/modulesets/gnome-suites-core-deps-3.0.modules
index a3f150d..a70b471 100644
--- a/modulesets/gnome-suites-core-deps-3.0.modules
+++ b/modulesets/gnome-suites-core-deps-3.0.modules
@@ -1047,10 +1047,11 @@
</branch>
</autotools>
- <tarball id="startup-notification" version="0.9">
- <source href="http://download.gnome.org/sources/startup-notification/0.9/startup-notification-0.9.tar.bz2"
- hash="sha256:61de1aed379ea9d44a835baf76567e0aaa813b6d6e995db7e83e8986f69b580d"
- md5sum="624b42f1fac5a12c543a079e2cd3b366" size="226231"/>
+ <tarball id="startup-notification" version="0.10">
+ <source href="http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.10.tar.gz"
+ hash="sha256:64bbeb5c28619721fc19d6920ad2b8bf6c0dc3a0e96a1b0bc26f480fbc525459"
+ size="328787"/>
+ <patch file="startup-notification-0.10-support-app-id.patch" strip="1"/>
</tarball>
<tarball id="telepathy-glib" version="0.13.15" autogenargs="--enable-vala-bindings">
diff --git a/patches/startup-notification-0.10-support-app-id.patch b/patches/startup-notification-0.10-support-app-id.patch
new file mode 100644
index 0000000..34ddae5
--- /dev/null
+++ b/patches/startup-notification-0.10-support-app-id.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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]