X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=750de946b87e794af8907d62bcfbac27f999a20a;hb=50d662681160c309ea86268c0d05794b87b75593;hp=39871e33d504fe655a2a757ea9d7f22bc4a8ee17;hpb=e4f24d84a0f9cf81f6228bbe51a30128f451e041;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 39871e33..750de946 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -53,7 +53,7 @@ extern ObDesktopLayout screen_desktop_layout; extern gchar **screen_desktop_names; /*! Take over the screen, set the basic hints on it claming it as ours */ -gboolean screen_annex(); +gboolean screen_annex(void); /*! Once the screen is ours, set up its initial state */ void screen_startup(gboolean reconfig); @@ -61,7 +61,7 @@ void screen_startup(gboolean reconfig); void screen_shutdown(gboolean reconfig); /*! Figure out the new size of the screen and adjust stuff for it */ -void screen_resize(); +void screen_resize(void); /*! Change the number of available desktops */ void screen_set_num_desktops(guint num); @@ -78,7 +78,7 @@ guint screen_find_desktop(guint from, ObDirection dir, /*! Show the desktop popup/notification */ void screen_show_desktop_popup(guint d); /*! Hide it */ -void screen_hide_desktop_popup(); +void screen_hide_desktop_popup(void); /*! Shows and focuses the desktop and hides all the client windows, or returns to the normal state, showing client windows. @@ -89,22 +89,39 @@ void screen_hide_desktop_popup(); void screen_show_desktop(gboolean show, struct _ObClient *show_only); /*! Updates the desktop layout from the root property if available */ -void screen_update_layout(); +void screen_update_layout(void); /*! Get desktop names from the root window property */ -void screen_update_desktop_names(); +void screen_update_desktop_names(void); /*! Installs or uninstalls a colormap for a client. If client is NULL, then it handles the root colormap. */ void screen_install_colormap(struct _ObClient *client, gboolean install); -void screen_update_areas(); +void screen_update_areas(void); -Rect *screen_physical_area_all_monitors(); +Rect *screen_physical_area_all_monitors(void); 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 */ @@ -125,12 +142,18 @@ 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(); +void screen_set_root_cursor(void); /*! Gives back the pointer's position in x and y. Returns TRUE if the pointer 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