X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.h;h=915c08db73ffabf79f46f14ba08030b15b660296;hb=HEAD;hp=8687381d0694209dc336352c79aaea28b10406aa;hpb=4145468a1984e1055a947ad957075ae51f70ca9c;p=chaz%2Fopenbox diff --git a/openbox/frame.h b/openbox/frame.h index 8687381d..915c08db 100644 --- a/openbox/frame.h +++ b/openbox/frame.h @@ -21,7 +21,7 @@ #define __frame_h #include "geom.h" -#include "render/render.h" +#include "obrender/render.h" typedef struct _ObFrame ObFrame; @@ -53,6 +53,7 @@ typedef enum { /*! This is a special context, which occurs while dragging a window in a move/resize */ OB_FRAME_CONTEXT_MOVE_RESIZE, + OB_FRAME_CONTEXT_DOCK, OB_FRAME_NUM_CONTEXTS } ObFrameContext; @@ -84,7 +85,8 @@ struct _ObFrame Window window; - Strut size; + Strut size; /* the size of the frame */ + Strut oldsize; /* the size of the frame last told to the client */ Rect area; gboolean visible; @@ -190,12 +192,14 @@ struct _ObFrame gboolean flashing; gboolean flash_on; GTimeVal flash_end; + guint flash_timer; /*! Is the frame currently in an animation for iconify or restore. 0 means that it is not animating. > 0 means it is animating an iconify. < 0 means it is animating a restore. */ gint iconify_animation_going; + guint iconify_animation_timer; GTimeVal iconify_animation_end; }; @@ -221,6 +225,16 @@ void frame_release_client(ObFrame *self); ObFrameContext frame_context_from_string(const gchar *name); +/*! Parses a ObFrameContext from a string of space-separated context names. + @names The list of context names, the first of which is removed from the + string. + @cx The ObFrameContext is returned here. If an invalid name is found, this + is set to OB_FRAME_CONTEXT_NONE. + @return TRUE if there was something to read in @names, FALSE if it was an + empty input. +*/ +gboolean frame_next_context_from_string(gchar *names, ObFrameContext *cx); + ObFrameContext frame_context(struct _ObClient *self, Window win, gint x, gint y);