X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=a6a3995b30a2aa3fcbbaf33ca61e73092386144c;hb=HEAD;hp=94085398fb782604aae90c671f373bfcf691ab21;hpb=31f0c8c1ad8c9acf369ab8336765f4bf673b8e21;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 94085398..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 */ @@ -135,6 +138,7 @@ Rect *screen_physical_area_primary(gboolean fixed); /*! @param head is the number of the head or one of SCREEN_AREA_ALL_MONITORS, SCREEN_AREA_ONE_MONITOR @param search NULL or the whole monitor(s) + @return A Rect allocated with g_slice_new() */ Rect* screen_area(guint desktop, guint head, Rect *search); @@ -144,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); @@ -160,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