]> Dogcows Code - chaz/tint2/blobdiff - src/taskbar/taskbar.h
memorized taskbar pixmap. So we don t redraw taskbar/task when switching desktop.
[chaz/tint2] / src / taskbar / taskbar.h
index 17a56af139fe9af28cb3c87798dafcc96ab393e0..72f0cca5134f76f179c216693b774fb2bfc2d45c 100644 (file)
@@ -10,6 +10,7 @@
 
 #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;
@@ -21,6 +22,8 @@ typedef struct {
        Area area;
 
        int desktop;
+       int current_state;
+       Pixmap state_pix[TASKBAR_STATE_COUNT];
 
        // task parameters
        int text_width;
@@ -30,8 +33,9 @@ typedef struct {
 typedef struct {
        //always start with area
        Area area;
-       Background* bg;
-       Background* bg_active;
+       Background* background[TASKBAR_STATE_COUNT];
+       //Background* bg;
+       //Background* bg_active;
 } Global_taskbar;
 
 
@@ -44,12 +48,14 @@ 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 set_taskbar_state(Taskbar *tskbar, int state);
 
 // show/hide taskbar according to current desktop
 void visible_taskbar(void *p);
This page took 0.019833 seconds and 4 git commands to generate.