]> Dogcows Code - chaz/tint2/blob - src/taskbar/taskbar.h
memorized taskbar pixmap. So we don t redraw taskbar/task when switching desktop.
[chaz/tint2] / src / taskbar / taskbar.h
1 /**************************************************************************
2 * Copyright (C) 2008 thierry lorthiois (lorthiois@bbsoft.fr)
3 *
4 * taskbar
5 *
6 **************************************************************************/
7
8 #ifndef TASKBAR_H
9 #define TASKBAR_H
10
11 #include "task.h"
12
13 enum { TASKBAR_NORMAL, TASKBAR_ACTIVE, TASKBAR_STATE_COUNT };
14 extern GHashTable* win_to_task_table;
15 extern Task *task_active;
16 extern Task *task_drag;
17 extern int taskbar_enabled;
18
19 // tint2 use one taskbar per desktop.
20 typedef struct {
21 // always start with area
22 Area area;
23
24 int desktop;
25 int current_state;
26 Pixmap state_pix[TASKBAR_STATE_COUNT];
27
28 // task parameters
29 int text_width;
30 } Taskbar;
31
32
33 typedef struct {
34 //always start with area
35 Area area;
36 Background* background[TASKBAR_STATE_COUNT];
37 //Background* bg;
38 //Background* bg_active;
39 } Global_taskbar;
40
41
42 // default global data
43 void default_taskbar();
44
45 // freed memory
46 void cleanup_taskbar();
47
48 void init_taskbar();
49 void init_taskbar_panel(void *p);
50
51 void draw_taskbar (void *obj, cairo_t *c);
52 void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data);
53 Task *task_get_task (Window win);
54 GPtrArray* task_get_tasks(Window win);
55 void task_refresh_tasklist ();
56
57 int resize_taskbar(void *obj);
58 void set_taskbar_state(Taskbar *tskbar, int state);
59
60 // show/hide taskbar according to current desktop
61 void visible_taskbar(void *p);
62
63
64 #endif
65
This page took 0.032626 seconds and 4 git commands to generate.