X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fscreen.h;h=1c687036e5a1cb96d2b4be9b56bba033cfac500a;hb=a95dc346fe7951dd48e41a41fcaafb6d872b0337;hp=1e9697028c8185021c01280e4123ce5ab77b5725;hpb=ad44e8a708b6836c9d84be7205457cfa82800a65;p=chaz%2Fopenbox diff --git a/openbox/screen.h b/openbox/screen.h index 1e969702..1c687036 100644 --- a/openbox/screen.h +++ b/openbox/screen.h @@ -1,38 +1,34 @@ #ifndef __screen_h #define __screen_h +#include "misc.h" #include "geom.h" -#include "client.h" -struct Client; +struct _ObClient; #define DESKTOP_ALL (0xffffffff) /*! The number of available desktops */ extern guint screen_num_desktops; +/*! The number of virtual "xinerama" screens/heads */ +extern guint screen_num_monitors; /*! The current desktop */ extern guint screen_desktop; -/*! The size of the screen */ -extern Size screen_physical_size; /*! Are we in showing-desktop mode? */ extern gboolean screen_showing_desktop; - -/*! Orientation of the desktops */ -typedef enum { - Orientation_Horz = 0, - Orientation_Vert = 1 -} Orientation; +/*! The support window also used for focus and stacking */ +extern Window screen_support_win; typedef struct DesktopLayout { - Orientation orientation; - Corner start_corner; + ObOrientation orientation; + ObCorner start_corner; guint rows; guint columns; } DesktopLayout; extern DesktopLayout screen_desktop_layout; /*! An array of gchar*'s which are desktop names in UTF-8 format */ -extern GPtrArray *screen_desktop_names; +extern char **screen_desktop_names; /*! Take over the screen, set the basic hints on it claming it as ours */ gboolean screen_annex(); @@ -62,12 +58,18 @@ void screen_update_desktop_names(); /*! Installs or uninstalls a colormap for a client. If client is NULL, then it handles the root colormap. */ -void screen_install_colormap(struct Client *client, gboolean install); +void screen_install_colormap(struct _ObClient *client, gboolean install); + +void screen_update_areas(); -void screen_update_struts(); +Rect *screen_physical_area(); + +Rect *screen_physical_area_monitor(guint head); Rect *screen_area(guint desktop); -Strut *screen_strut(guint desktop); +Rect *screen_area_monitor(guint desktop, guint head); + +gboolean screen_pointer_pos(int *x, int *y); #endif