]> Dogcows Code - chaz/tint2/blobdiff - src/taskbar/taskbar.h
desktop name: first step
[chaz/tint2] / src / taskbar / taskbar.h
index 3474825d02b959a6a828527fb1d0d745ddf6658d..ee5f87d264003c1834159f55922925940ecab1b4 100644 (file)
@@ -9,10 +9,23 @@
 #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 {
@@ -20,20 +33,20 @@ typedef struct {
        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;
-       int use_active;
+       Area area_name;
+       Background* background[TASKBAR_STATE_COUNT];
+       Background* background_name[TASKBAR_STATE_COUNT];
 } Global_taskbar;
 
 
@@ -44,12 +57,20 @@ void default_taskbar();
 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 ();
 
-void resize_taskbar(void *obj);
+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);
 
 
 #endif
This page took 0.020861 seconds and 4 git commands to generate.