X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=openbox%2Fscreen.h;h=16903300c0b690afff36f3672fda70c345d8f76a;hb=8ed0970b65e2a74c122059aed8c69057c129db35;hp=6ad181953bfe6f3e6b3edb07158f0504ce6aac71;hpb=eb6a2e9c4b334f53d714a2e7f10f73c63c3d2edd;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 6ad18195..16903300 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -67,12 +67,18 @@ void screen_resize(); void screen_set_num_desktops(guint num); /*! Change the current desktop */ void screen_set_desktop(guint num, gboolean dofocus); -/*! Interactively change desktops */ -guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, - gboolean dialog, gboolean done, gboolean cancel); +/*! 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); -/*! Show/hide the desktop popup (pager) for the given desktop */ -void screen_desktop_popup(guint d, gboolean show); +guint screen_find_desktop(guint from, ObDirection dir, + gboolean wrap, gboolean linear); + +/*! Show the desktop popup/notification */ +void screen_show_desktop_popup(guint d); +/*! Hide it */ +void screen_hide_desktop_popup(); /*! Shows and focuses the desktop and hides all the client windows, or returns to the normal state, showing client windows. @@ -98,7 +104,24 @@ Rect *screen_physical_area_all_monitors(); Rect *screen_physical_area_monitor(guint head); -Rect *screen_physical_area_active(); +/*! 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 the primary monitor, as specified by the config. + @fixed If TRUE, then this will always return a fixed monitor, otherwise + it may change based on where focus is, or other heuristics. + */ +guint screen_monitor_primary(gboolean fixed); + +/*! Returns physical area for the primary monitor, as specified by the config. + @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(). +*/ +Rect *screen_physical_area_primary(gboolean fixed); /* doesn't include struts which the search area is already outside of when 'search' is not NULL */ @@ -119,6 +142,9 @@ gboolean screen_physical_area_monitor_contains(guint head, Rect *search); */ guint screen_find_monitor(Rect *search); +/*! Finds the monitor which contains the point @x, @y */ +guint screen_find_monitor_point(guint x, guint y); + /*! Sets the root cursor. This function decides which cursor to use, but you gotta call it to let it know it should change. */ void screen_set_root_cursor(); @@ -127,4 +153,7 @@ void screen_set_root_cursor(); is on this screen and FALSE if it is on another screen. */ gboolean screen_pointer_pos(gint *x, gint *y); +/*! Returns the monitor which contains the pointer device */ +guint screen_monitor_pointer(void); + #endif