X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=6ad181953bfe6f3e6b3edb07158f0504ce6aac71;hb=f683e84741ae32ee51cc8f6d984a9f35814a7a3c;hp=a694f66349cf4ac16d528f622bfaaad25ff56ea6;hpb=65d50861ada11f5409680de285f461f16e78c090;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index a694f663..6ad18195 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -41,19 +41,19 @@ extern Window screen_support_win; /*! The last time at which the user changed desktops */ extern Time screen_desktop_user_time; -typedef struct DesktopLayout { +typedef struct ObDesktopLayout { ObOrientation orientation; ObCorner start_corner; guint rows; guint columns; -} DesktopLayout; -extern DesktopLayout screen_desktop_layout; +} ObDesktopLayout; +extern ObDesktopLayout screen_desktop_layout; /*! An array of gchar*'s which are desktop names in UTF-8 format */ extern gchar **screen_desktop_names; /*! Take over the screen, set the basic hints on it claming it as ours */ -gboolean screen_annex(const gchar *program_name); +gboolean screen_annex(); /*! Once the screen is ours, set up its initial state */ void screen_startup(gboolean reconfig); @@ -94,17 +94,29 @@ void screen_install_colormap(struct _ObClient *client, gboolean install); void screen_update_areas(); -Rect *screen_physical_area(); +Rect *screen_physical_area_all_monitors(); Rect *screen_physical_area_monitor(guint head); -Rect *screen_area(guint desktop); +Rect *screen_physical_area_active(); -Rect *screen_area_monitor(guint desktop, guint head); +/* doesn't include struts which the search area is already outside of when + 'search' is not NULL */ +#define SCREEN_AREA_ALL_MONITORS ((unsigned)-1) +#define SCREEN_AREA_ONE_MONITOR ((unsigned)-2) + +/*! @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) + */ +Rect* screen_area(guint desktop, guint head, Rect *search); + +gboolean screen_physical_area_monitor_contains(guint head, Rect *search); /*! Determines which physical monitor a rectangle is on by calculating the area of the part of the rectable on each monitor. The number of the - monitor containing the greatest area of the rectangle is returned.*/ + monitor containing the greatest area of the rectangle is returned. +*/ guint screen_find_monitor(Rect *search); /*! Sets the root cursor. This function decides which cursor to use, but you