X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.h;h=d5a9c7ce0412711c6b946c755123ec180fb1741e;hb=0621e22932b40ada705abbeb67b67c0e37ef7654;hp=0295a6beb2a32853498327ab242a93cf951aa89c;hpb=81af5a8b0caadc0a82ff2304c315f816c9576e93;p=chaz%2Fopenbox diff --git a/openbox/frame.h b/openbox/frame.h index 0295a6be..d5a9c7ce 100644 --- a/openbox/frame.h +++ b/openbox/frame.h @@ -10,13 +10,15 @@ struct _ObClient; typedef enum { OB_FRAME_CONTEXT_NONE, - OB_FRAME_CONTEXT_ROOT, + OB_FRAME_CONTEXT_DESKTOP, OB_FRAME_CONTEXT_CLIENT, OB_FRAME_CONTEXT_TITLEBAR, OB_FRAME_CONTEXT_HANDLE, OB_FRAME_CONTEXT_FRAME, OB_FRAME_CONTEXT_BLCORNER, OB_FRAME_CONTEXT_BRCORNER, + OB_FRAME_CONTEXT_TLCORNER, + OB_FRAME_CONTEXT_TRCORNER, OB_FRAME_CONTEXT_MAXIMIZE, OB_FRAME_CONTEXT_ALLDESKTOPS, OB_FRAME_CONTEXT_SHADE, @@ -52,7 +54,12 @@ struct _ObFrame Strut size; Rect area; gboolean visible; + + /*! Whether the window is obscured at all or fully visible. */ + gboolean obscured; + guint decorations; + gboolean max_horz; Window title; Window label; @@ -66,6 +73,9 @@ struct _ObFrame Window lgrip; Window rgrip; + Window tlresize; + Window trresize; + RrAppearance *a_unfocused_title; RrAppearance *a_focused_title; RrAppearance *a_unfocused_label; @@ -88,22 +98,34 @@ struct _ObFrame gint max_x; /* x-position of the window maximize button */ gint close_x; /* x-position of the window close button */ gint bwidth; /* border width */ - gint cbwidth; /* client border width */ + gint rbwidth; /* title border width */ + gint cbwidth_x; /* client border width */ + gint cbwidth_y; /* client border width */ gboolean max_press; gboolean close_press; gboolean desk_press; gboolean shade_press; gboolean iconify_press; + gboolean max_hover; + gboolean close_hover; + gboolean desk_hover; + gboolean shade_hover; + gboolean iconify_hover; gboolean focused; + + gboolean flashing; + gboolean flash_on; + GTimeVal flash_end; }; ObFrame *frame_new(); void frame_show(ObFrame *self); void frame_hide(ObFrame *self); void frame_adjust_shape(ObFrame *self); -void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized); +void frame_adjust_area(ObFrame *self, gboolean moved, + gboolean resized, gboolean fake); void frame_adjust_state(ObFrame *self); void frame_adjust_focus(ObFrame *self, gboolean hilite); void frame_adjust_title(ObFrame *self); @@ -127,5 +149,6 @@ void frame_client_gravity(ObFrame *self, int *x, int *y); */ void frame_frame_gravity(ObFrame *self, int *x, int *y); +void frame_flash(ObFrame *self); #endif