X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftaskbar.h;h=a1203692d8e32df700d5ec071e1eb3c67d660292;hb=f451124d52fd1e4afbaee3d11490a4cca8d9ff95;hp=3b3560da4d14b09e5fa4ed1041ee07d66a52848f;hpb=d1123a0ede12eb1126eb5eb932d9177de67d46c5;p=chaz%2Ftint2 diff --git a/src/taskbar/taskbar.h b/src/taskbar/taskbar.h index 3b3560d..a120369 100644 --- a/src/taskbar/taskbar.h +++ b/src/taskbar/taskbar.h @@ -1,39 +1,77 @@ +/************************************************************************** +* Copyright (C) 2008 thierry lorthiois (lorthiois@bbsoft.fr) +* +* taskbar +* +**************************************************************************/ #ifndef TASKBAR_H #define TASKBAR_H #include "task.h" +#include "taskbarname.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; -// -------------------------------------------------- -// taskbar parameter typedef struct { - // -------------------------------------------------- - // always start with area - Area area; - - int desktop; - int monitor; - - // task parameters - int task_width; - int task_modulo; - int text_width; + // always start with area + Area area; + Pixmap state_pix[TASKBAR_STATE_COUNT]; + + char *name; + int posy; +} Taskbarname; + +// tint2 use one taskbar per desktop. +typedef struct { + // always start with area + Area area; + + int desktop; + Pixmap state_pix[TASKBAR_STATE_COUNT]; + + Taskbarname bar_name; + + // task parameters + int text_width; } Taskbar; +typedef struct { + //always start with area + Area area; + Area area_name; + Background* background[TASKBAR_STATE_COUNT]; + Background* background_name[TASKBAR_STATE_COUNT]; +} Global_taskbar; + -// -------------------------------------------------- -// global taskbar parameter -Area g_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 on_change_taskbar (void *obj); +void set_taskbar_state(Taskbar *tskbar, int state); + +// show/hide taskbar according to current desktop +void visible_taskbar(void *p); -//void add_taskbar(Area *a); #endif