X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftask.h;h=50eed31d5d1df77f4f0a4b0ddf75f30c70c4df07;hb=827f5d6fc955e7071351716d7d0d41b66ed65a76;hp=e99c577e14e18773ec0098a49093525c35f4a3ab;hpb=ad0010a813450116f875d943f36cd6c93d84cb04;p=chaz%2Ftint2 diff --git a/src/taskbar/task.h b/src/taskbar/task.h index e99c577..50eed31 100644 --- a/src/taskbar/task.h +++ b/src/taskbar/task.h @@ -9,55 +9,81 @@ #include #include +#include #include "common.h" +#include "timer.h" +enum { TASK_NORMAL, TASK_ACTIVE, TASK_ICONIFIED, TASK_URGENT, TASK_STATE_COUNT }; +extern timeout* urgent_timeout; +extern GSList* urgent_list; + // -------------------------------------------------- // global task parameter typedef struct { - Area area; - - int text; - int icon; - int icon_size1; - int centered; - int maximum_width; - int font_shadow; - // icon position - int icon_posy; - // starting position for text ~ task_padding + task_border + icon_size - double text_posx, text_posy; - PangoFontDescription *font_desc; - config_color font; - config_color font_active; + Area area; + + int text; + int icon; + int centered; + + int icon_posy; + int icon_size1; + int maximum_width; + int maximum_height; + int alpha[TASK_STATE_COUNT]; + int saturation[TASK_STATE_COUNT]; + int brightness[TASK_STATE_COUNT]; + int config_asb_mask; + Background* background[TASK_STATE_COUNT]; + int config_background_mask; + // starting position for text ~ task_padding + task_border + icon_size + double text_posx, text_height; + + int font_shadow; + PangoFontDescription *font_desc; + Color font[TASK_STATE_COUNT]; + int config_font_mask; + int tooltip_enabled; } Global_task; typedef struct { - // always start with area - Area area; - - // TODO: group task with list of windows here - Window win; - long *icon_data; - int icon_width; - int icon_height; - char *title; - int all_desktop; + // always start with area + Area area; + + // TODO: group task with list of windows here + Window win; + int desktop; + int current_state; + Imlib_Image icon[TASK_STATE_COUNT]; + Pixmap state_pix[TASK_STATE_COUNT]; + unsigned int icon_width; + unsigned int icon_height; + char *title; + int urgent_tick; } Task; -Global_task g_task; - - -void add_task (Window win); +Task *add_task (Window win); void remove_task (Task *tsk); -void draw_foreground_task (void *obj, cairo_t *c, int active); +void draw_task (void *obj, cairo_t *c); +void on_change_task (void *obj); void get_icon (Task *tsk); -void get_title(Task *tsk); +int get_title(Task *tsk); +void active_task(); +void set_task_state(Task* tsk, int state); +void set_task_redraw(Task* tsk); + +Task *find_active_task(Task *current_task, Task *active_task); +Task *next_task (Task *tsk); +Task *prev_task (Task *tsk); + +void add_urgent(Task *tsk); +void del_urgent(Task *tsk); #endif