X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=b40776df9afa541538c10c802bb150386328fe3e;hb=47986dcd9cb4bc9c23012a52bb6bcd21d62954f1;hp=558081b5a308c06018ba6976904a5accf51e3d1e;hpb=fde5ca09e9ea7ab08b6dc06723f19bad6d03af22;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 558081b5..b40776df 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -41,13 +41,13 @@ 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; @@ -66,7 +66,7 @@ void screen_resize(); /*! Change the number of available desktops */ void screen_set_num_desktops(guint num); /*! Change the current desktop */ -void screen_set_desktop(guint num); +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); @@ -75,8 +75,12 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear, void screen_desktop_popup(guint d, gboolean show); /*! Shows and focuses the desktop and hides all the client windows, or - returns to the normal state, showing client windows. */ -void screen_show_desktop(gboolean show, gboolean restore_focus); + returns to the normal state, showing client windows. + @param If show_only is non-NULL, then only that client is shown (assuming + show is FALSE (restoring from show-desktop mode), and the rest are + iconified. +*/ +void screen_show_desktop(gboolean show, struct _ObClient *show_only); /*! Updates the desktop layout from the root property if available */ void screen_update_layout(); @@ -107,6 +111,8 @@ guint screen_find_monitor(Rect *search); gotta call it to let it know it should change. */ void screen_set_root_cursor(); +/*! 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); #endif