add function screen_compare_desktops()

tells if two windows' current desktops are considered logically on the same
  desktop (taking "all desktops" into account)
if a window is on "all desktops" it is considered to be on the current desktop
  only - windows can only be in one place at a time.
This commit is contained in:
Dana Jansens 2010-10-14 19:39:34 -04:00
parent 4ce98ecf02
commit 76ae19924d
2 changed files with 17 additions and 0 deletions

View file

@ -1753,3 +1753,12 @@ gboolean screen_pointer_pos(gint *x, gint *y)
}
return ret;
}
gboolean screen_compare_desktops(guint a, guint b)
{
if (a == DESKTOP_ALL)
a = screen_desktop;
if (b == DESKTOP_ALL)
b = screen_desktop;
return a == b;
}

View file

@ -164,4 +164,12 @@ gboolean screen_pointer_pos(gint *x, gint *y);
/*! Returns the monitor which contains the pointer device */
guint screen_monitor_pointer(void);
/*! Compare the desktop for two windows to see if they are considered on the
same desktop.
Windows that are on "all desktops" are treated like they are only on the
current desktop, so they are only in one place at a time.
@return TRUE if they are on the same desktop, FALSE otherwise.
*/
gboolean screen_compare_desktops(guint a, guint b);
#endif