The problem was that simply calling Window.show() doesn't mean that the window
[moonshot-ui.git] / src / moonshot-identity-management-view.vala
index d9d7c5a..2088e49 100644 (file)
@@ -511,11 +511,26 @@ public class IdentityManagerView : Window {
             filter.refilter();
             redraw_id_card_widgets ();
             set_prompting_service(request.service);
-            show ();
+            make_visible();
         }
         this.request_queue.push_tail (request);
     }
 
+
+    /** Makes the window visible, or at least, notifies the user that the window
+      * wants to be visible.
+      *
+      * This differs from show() in that show() does not guarantee that the 
+      * window will be moved to the foreground. Actually, neither does this
+      * method, because the user's settings and window manager may affect the
+      * behavior significantly.
+      */
+    public void make_visible()
+    {
+        set_urgency_hint(true);
+        present();
+    }
+
     public IdCard check_add_password(IdCard identity, IdentityRequest request, IdentityManagerModel model)
     {
         IdCard retval = identity;