X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Ftaskbar%2Ftaskbar.h;h=ee5f87d264003c1834159f55922925940ecab1b4;hb=b984f3f3b26d76ba6bf7488ac9737cd69413031c;hp=8407819114a996f94907636c2a0aff00bf5ade72;hpb=63bbffa4af17926ba2d52728883988eae402b07a;p=chaz%2Ftint2 diff --git a/src/taskbar/taskbar.h b/src/taskbar/taskbar.h index 8407819..ee5f87d 100644 --- a/src/taskbar/taskbar.h +++ b/src/taskbar/taskbar.h @@ -9,31 +9,44 @@ #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; + +typedef struct { + // always start with area + Area area; + Pixmap state_pix[TASKBAR_STATE_COUNT]; + + char *name; + int name_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 task_width; - int task_modulo; int text_width; } Taskbar; - typedef struct { //always start with area Area area; - Background* bg; - Background* bg_active; + Area area_name; + Background* background[TASKBAR_STATE_COUNT]; + Background* background_name[TASKBAR_STATE_COUNT]; } Global_taskbar; @@ -46,12 +59,15 @@ 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 (); 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);