Merge branch 'backport' into work
[dana/openbox.git] / openbox / focus_cycle_popup.c
index 2ad786c..cc2b3b3 100644 (file)
@@ -351,7 +351,7 @@ static void popup_render(ObFocusCyclePopup *p, const ObClient *c)
     g_assert(mode == OB_FOCUS_CYCLE_POPUP_MODE_ICONS ||
              mode == OB_FOCUS_CYCLE_POPUP_MODE_LIST);
 
-    screen_area = screen_physical_area_primary();
+    screen_area = screen_physical_area_primary(FALSE);
 
     /* get the outside margins */
     RrMargins(p->a_bg, &ml, &mt, &mr, &mb);
@@ -715,7 +715,7 @@ void focus_cycle_popup_single_show(struct _ObClient *c,
         g_assert(popup.targets == NULL);
 
         /* position the popup */
-        a = screen_physical_area_primary();
+        a = screen_physical_area_primary(FALSE);
         icon_popup_position(single_popup, CenterGravity,
                             a->x + a->width / 2, a->y + a->height / 2);
         icon_popup_height(single_popup, POPUP_HEIGHT);
@@ -735,3 +735,17 @@ void focus_cycle_popup_single_hide(void)
 {
     icon_popup_hide(single_popup);
 }
+
+gboolean focus_cycle_popup_is_showing(ObClient *client)
+{
+    if (popup.mapped) {
+        GList *it;
+
+        for (it = popup.targets; it; it = g_list_next(it)) {
+            ObFocusCyclePopupTarget *t = it->data;
+            if (t->client == client)
+                return TRUE;
+        }
+    }
+    return FALSE;
+}