$NetBSD: patch-aa,v 1.1.1.1.2.2 2012/02/08 20:54:25 tron Exp $

--- libsn/sn-monitor.c	2009-04-03 17:57:27.000000000 +0700
+++ libsn/sn-monitor.c	2011-05-05 16:34:34.000000000 +0700
@@ -66,7 +66,8 @@
   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_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 @@
   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 @@
                   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;
