]> Dogcows Code - chaz/tint2/blobdiff - src/taskbar/task.h
Fix for incorrect task cycling when windows visible on all desktops are present
[chaz/tint2] / src / taskbar / task.h
index 8564868095903006817766cda01b4617be763045..50eed31d5d1df77f4f0a4b0ddf75f30c70c4df07 100644 (file)
 #include <pango/pangocairo.h>
 #include <Imlib2.h>
 #include "common.h"
+#include "timer.h"
 
 
 enum { TASK_NORMAL, TASK_ACTIVE, TASK_ICONIFIED, TASK_URGENT, TASK_STATE_COUNT };
+extern timeout* urgent_timeout;
+extern GSList* urgent_list;
 
 // --------------------------------------------------
 // global task parameter
@@ -35,12 +38,13 @@ typedef struct {
        Background* background[TASK_STATE_COUNT];
        int config_background_mask;
        // starting position for text ~ task_padding + task_border + icon_size
-       double text_posx, text_posy;
+       double text_posx, text_height;
 
        int font_shadow;
        PangoFontDescription *font_desc;
        Color font[TASK_STATE_COUNT];
        int config_font_mask;
+       int tooltip_enabled;
 } Global_task;
 
 
@@ -54,6 +58,7 @@ typedef struct {
        int  desktop;
        int current_state;
        Imlib_Image icon[TASK_STATE_COUNT];
+       Pixmap state_pix[TASK_STATE_COUNT];
        unsigned int icon_width;
        unsigned int icon_height;
        char *title;
@@ -65,12 +70,15 @@ Task *add_task (Window win);
 void remove_task (Task *tsk);
 
 void draw_task (void *obj, cairo_t *c);
+void on_change_task (void *obj);
 
 void get_icon (Task *tsk);
-void get_title(Task *tsk);
+int  get_title(Task *tsk);
 void active_task();
 void set_task_state(Task* tsk, int state);
+void set_task_redraw(Task* tsk);
 
+Task *find_active_task(Task *current_task, Task *active_task);
 Task *next_task (Task *tsk);
 Task *prev_task (Task *tsk);
 
This page took 0.022228 seconds and 4 git commands to generate.