X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=c2c57f09a8a2e1f00e752f2cb460c9adbd6223c2;hb=6354baf43f2b4950be668371f14cc2b4495af065;hp=d6435fef12e93c630f8162e7ea517d529afb1a67;hpb=7a6a516b8e3d8ad6b15379eabf6652a6f43eab27;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index d6435fef..c2c57f09 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -67,10 +67,18 @@ void screen_resize(); void screen_set_num_desktops(guint num); /*! Change the current desktop */ void screen_set_desktop(guint num, gboolean dofocus); +/*! Add a new desktop either at the end or inserted at the current desktop */ +void screen_add_desktop(gboolean current); +/*! Remove a desktop, either at the end or the current desktop */ +void screen_remove_desktop(gboolean current); + /*! Interactively change desktops */ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, gboolean dialog, gboolean done, gboolean cancel); +guint screen_find_desktop(guint from, ObDirection dir, + gboolean wrap, gboolean linear); + /*! Show/hide the desktop popup (pager) for the given desktop */ void screen_desktop_popup(guint d, gboolean show); @@ -94,15 +102,24 @@ 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_physical_area_monitor_active(); +Rect *screen_physical_area_active(); + +/* 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) -Rect *screen_area(guint desktop, Rect *search); +/*! @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); -Rect *screen_area_monitor(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