X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftaskbar.h;h=72f0cca5134f76f179c216693b774fb2bfc2d45c;hb=275fa7c8678c39a1c1f7437de12aac0144f61a85;hp=807e2856dd529c777358802aed331ad2c7dbc2b1;hpb=bf2fd3cf8c96d2a747ba4ea3bd8bd9b0a0d7e0e7;p=chaz%2Ftint2 diff --git a/src/taskbar/taskbar.h b/src/taskbar/taskbar.h index 807e285..72f0cca 100644 --- a/src/taskbar/taskbar.h +++ b/src/taskbar/taskbar.h @@ -10,31 +10,55 @@ #include "task.h" +enum { TASKBAR_NORMAL, TASKBAR_ACTIVE, TASKBAR_STATE_COUNT }; +extern GHashTable* win_to_task_table; +extern Task *task_active; +extern Task *task_drag; +extern int taskbar_enabled; +// tint2 use one taskbar per desktop. typedef struct { - // always start with area - Area area; + // always start with area + Area area; - int desktop; + int desktop; + int current_state; + Pixmap state_pix[TASKBAR_STATE_COUNT]; - // task parameters - int task_width; - int task_modulo; - int text_width; + // task parameters + int text_width; } Taskbar; +typedef struct { + //always start with area + Area area; + Background* background[TASKBAR_STATE_COUNT]; + //Background* bg; + //Background* bg_active; +} Global_taskbar; -void init_taskbar(); + +// default global data +void default_taskbar(); + +// freed memory void cleanup_taskbar(); +void init_taskbar(); +void init_taskbar_panel(void *p); + +void draw_taskbar (void *obj, cairo_t *c); +void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data); Task *task_get_task (Window win); +GPtrArray* task_get_tasks(Window win); void task_refresh_tasklist (); -// return 1 if task_width changed -int resize_tasks (Taskbar *tskbar); +int resize_taskbar(void *obj); +void set_taskbar_state(Taskbar *tskbar, int state); -void resize_taskbar(void *obj); +// show/hide taskbar according to current desktop +void visible_taskbar(void *p); #endif