X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.h;h=c3bbe2b9e1368e95eb0f7c52777c628ae257df6d;hb=1afc4180d72d335d93cb9ad8ec9a0dc4d5ae003b;hp=b13cf06c3937de730f166fc546de032a7b78ebab;hpb=2477a38d2f3063b697e44bf3690cf280fb26ca8a;p=chaz%2Fopenbox diff --git a/openbox/client.h b/openbox/client.h index b13cf06c..c3bbe2b9 100644 --- a/openbox/client.h +++ b/openbox/client.h @@ -10,15 +10,15 @@ #include #include -struct Frame; -struct Group; +struct _ObFrame; +struct _ObGroup; typedef struct _ObClient ObClient; typedef struct _ObClientIcon ObClientIcon; /* The value in client.transient_for indicating it is a transient for its group instead of for a single window */ -#define TRAN_GROUP ((void*)~0l) +#define OB_TRAN_GROUP ((void*)~0l) /*! Holds an icon in ARGB format */ struct _ObClientIcon @@ -29,42 +29,29 @@ struct _ObClientIcon }; /*! Possible window types */ -typedef enum { - Type_Desktop, /*!< A desktop (bottom-most window) */ - Type_Dock, /*!< A dock bar/panel window */ - Type_Toolbar, /*!< A toolbar window, pulled off an app */ - Type_Menu, /*!< An unpinned menu from an app */ - Type_Utility, /*!< A small utility window such as a palette */ - Type_Splash, /*!< A splash screen window */ - Type_Dialog, /*!< A dialog window */ - Type_Normal /*!< A normal application window */ -} WindowType; +typedef enum +{ + OB_CLIENT_TYPE_DESKTOP, /*!< A desktop (bottom-most window) */ + OB_CLIENT_TYPE_DOCK, /*!< A dock bar/panel window */ + OB_CLIENT_TYPE_TOOLBAR, /*!< A toolbar window, pulled off an app */ + OB_CLIENT_TYPE_MENU, /*!< An unpinned menu from an app */ + OB_CLIENT_TYPE_UTILITY, /*!< A small utility window such as a palette */ + OB_CLIENT_TYPE_SPLASH, /*!< A splash screen window */ + OB_CLIENT_TYPE_DIALOG, /*!< A dialog window */ + OB_CLIENT_TYPE_NORMAL /*!< A normal application window */ +} ObClientType; /*! The things the user can do to the client window */ -typedef enum { - Func_Resize = 1 << 0, /*!< Allow resizing */ - Func_Move = 1 << 1, /*!< Allow moving */ - Func_Iconify = 1 << 2, /*!< Allow to be iconified */ - Func_Maximize = 1 << 3, /*!< Allow to be maximized */ - Func_Shade = 1 << 4, /*!< Allow to be shaded */ - Func_Fullscreen = 1 << 5, /*!< Allow to be made fullscreen */ - Func_Close = 1 << 6 /*!< Allow to be closed */ -} Function; - -/*! The decorations the client window wants to be displayed on it */ -typedef enum { - Decor_Titlebar = 1 << 0, /*!< Display a titlebar */ - Decor_Handle = 1 << 1, /*!< Display a handle (bottom) */ - Decor_Border = 1 << 2, /*!< Display a border */ - Decor_Icon = 1 << 3, /*!< Display the window's icon */ - Decor_Iconify = 1 << 4, /*!< Display an iconify button */ - Decor_Maximize = 1 << 5, /*!< Display a maximize button */ - /*! Display a button to toggle the window's placement on - all desktops */ - Decor_AllDesktops = 1 << 6, - Decor_Shade = 1 << 7, /*!< Displays a shade button */ - Decor_Close = 1 << 8 /*!< Display a close button */ -} Decoration; +typedef enum +{ + OB_CLIENT_FUNC_RESIZE = 1 << 0, /*!< Allow user resizing */ + OB_CLIENT_FUNC_MOVE = 1 << 1, /*!< Allow user moving */ + OB_CLIENT_FUNC_ICONIFY = 1 << 2, /*!< Allow to be iconified */ + OB_CLIENT_FUNC_MAXIMIZE = 1 << 3, /*!< Allow to be maximized */ + OB_CLIENT_FUNC_SHADE = 1 << 4, /*!< Allow to be shaded */ + OB_CLIENT_FUNC_FULLSCREEN = 1 << 5, /*!< Allow to be made fullscreen */ + OB_CLIENT_FUNC_CLOSE = 1 << 6 /*!< Allow to be closed */ +} ObFunctions; struct _ObClient { @@ -73,20 +60,20 @@ struct _ObClient Window window; /*! The window's decorations. NULL while the window is being managed! */ - struct Frame *frame; + struct _ObFrame *frame; /*! The number of unmap events to ignore on the window */ int ignore_unmaps; /*! The id of the group the window belongs to */ - struct Group *group; + struct _ObGroup *group; /*! Whether or not the client is a transient window. This is guaranteed to be TRUE if transient_for != NULL, but not guaranteed to be FALSE if transient_for == NULL. */ gboolean transient; /*! The client which this client is a transient (child) for. A value of TRAN_GROUP signifies that the window is a transient for all - members of its Group, and is not a valid pointer to be followed in this + members of its ObGroup, and is not a valid pointer to be followed in this case. */ ObClient *transient_for; @@ -112,7 +99,7 @@ struct _ObClient gchar *role; /*! The type of window (what its function is) */ - WindowType type; + ObClientType type; /*! Position and size of the window This will not always be the actual position of the window on screen, it @@ -221,29 +208,29 @@ struct _ObClient /*! The layer in which the window will be stacked, windows in lower layers are always below windows in higher layers. */ - StackLayer layer; + ObStackingLayer layer; - /*! A bitmask of values in the Decoration enum + /*! A bitmask of values in the ObFrameDecorations enum The values in the variable are the decorations that the client wants to be displayed around it. */ - int decorations; + guint decorations; - /*! A bitmask of values in the Decoration enum. - Specifies the decorations that should NOT be displayed on the client. + /*! A user option. When this is set to FALSE the client will not ever + be decorated. */ - int disabled_decorations; + gboolean decorate; - /*! A bitmask of values in the Function enum + /*! A bitmask of values in the ObFunctions enum The values in the variable specify the ways in which the user is allowed to modify this window. */ - int functions; + guint functions; /*! Icons for the client as specified on the client window */ ObClientIcon *icons; /*! The number of icons in icons */ - int nicons; + guint nicons; }; extern GList *client_list;