=== modified file 'unity-private/panel/panel-indicator-object-entry-view.vala'
--- unity-private/panel/panel-indicator-object-entry-view.vala	2010-09-21 14:35:55 +0000
+++ unity-private/panel/panel-indicator-object-entry-view.vala	2010-09-22 16:56:07 +0000
@@ -23,6 +23,7 @@
   {
     public unowned Indicator.ObjectEntry entry { get; construct; }
     public signal void menu_moved (Gtk.MenuDirectionType type);
+    public signal void entry_shown ();
 
     private Clutter.CairoTexture bg;
     public  Ctk.Image     image;
@@ -469,6 +470,8 @@
           entry.menu.move_current.connect (menu_key_moved);
           entry.menu.notify["visible"].connect (menu_vis_changed);
           bg.opacity = 255;
+
+          entry_shown ();
         }
     }
 

=== modified file 'unity-private/panel/panel-indicator-object-view.vala'
--- unity-private/panel/panel-indicator-object-view.vala	2010-09-16 21:33:12 +0000
+++ unity-private/panel/panel-indicator-object-view.vala	2010-09-22 16:56:07 +0000
@@ -68,6 +68,7 @@
           IndicatorObjectEntryView object_entry_view = new IndicatorObjectEntryView (indicator_object_entry);
 
           object_entry_view.menu_moved.connect (this.on_menu_moved);
+          object_entry_view.entry_shown.connect (on_entry_shown);
 
           this.indicator_entry_array.add (object_entry_view);
           this.add_actor (object_entry_view);
@@ -167,12 +168,19 @@
       IndicatorObjectEntryView object_entry_view = new IndicatorObjectEntryView (indicator_object_entry);
 
       object_entry_view.menu_moved.connect (this.on_menu_moved);
+      object_entry_view.entry_shown.connect (on_entry_shown);
 
       this.indicator_entry_array.add (object_entry_view);
       this.add_actor (object_entry_view);
 
     }
 
+    private void on_entry_shown (IndicatorObjectEntryView view)
+    {
+      indicator_object.entry_activate (view.entry,
+                                       global_shell.get_current_time ());
+    }
+
     private void remove_entry (Indicator.ObjectEntry entry)
     {
       for (int i = 0; i < indicator_entry_array.size; i++)

=== modified file 'vapi/indicator.vapi'
--- vapi/indicator.vapi	2010-09-16 21:33:12 +0000
+++ vapi/indicator.vapi	2010-09-22 16:56:07 +0000
@@ -27,6 +27,7 @@
 		[NoWrapper]
 		public virtual unowned Gtk.Menu get_menu ();
 		[NoWrapper]
+    public virtual void entry_activate (Indicator.ObjectEntry entry, uint timestamp);
 		public virtual void indicator_object_reserved_1 ();
 		public virtual signal void entry_added (Indicator.ObjectEntry entry);
 		public virtual signal void entry_moved (Indicator.ObjectEntry entry, uint old_pos, uint new_pos);

