X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=a6a3995b30a2aa3fcbbaf33ca61e73092386144c;hb=HEAD;hp=8c6a55702b5c50ad2fe92c3bb3572a1b0dd56d84;hpb=1d57f7b08590255e57dd5931a1993507b4f116c2;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 8c6a5570..a6a3995b 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -104,15 +104,17 @@ void screen_install_colormap(struct _ObClient *client, gboolean install); void screen_update_areas(void); -Rect *screen_physical_area_all_monitors(void); +const Rect* screen_physical_area_all_monitors(void); -Rect *screen_physical_area_monitor(guint head); +/*! Returns a Rect which is owned by the screen code and should not be freed */ +const Rect* screen_physical_area_monitor(guint head); /*! Returns the monitor which contains the active window, or the one containing the pointer otherwise. */ guint screen_monitor_active(void); -Rect *screen_physical_area_active(void); +/*! Returns a Rect which is owned by the screen code and should not be freed */ +const Rect* screen_physical_area_active(void); /*! Returns the primary monitor, as specified by the config. @fixed If TRUE, then this will always return a fixed monitor, otherwise @@ -124,8 +126,9 @@ guint screen_monitor_primary(gboolean fixed); @fixed If TRUE, then this will always use a fixed monitor as primary, otherwise it may change based on where focus is, or other heuristics. See screen_monitor_primary(). + @return A Rect which is owned by the screen code and should not be freed */ -Rect *screen_physical_area_primary(gboolean fixed); +const Rect* screen_physical_area_primary(gboolean fixed); /* doesn't include struts which the search area is already outside of when 'search' is not NULL */ @@ -145,7 +148,7 @@ gboolean screen_physical_area_monitor_contains(guint head, Rect *search); area of the part of the rectable on each monitor. The number of the monitor containing the greatest area of the rectangle is returned. */ -guint screen_find_monitor(Rect *search); +guint screen_find_monitor(const Rect *search); /*! Finds the monitor which contains the point @x, @y */ guint screen_find_monitor_point(guint x, guint y); @@ -161,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