]> Dogcows Code - chaz/tint2/blob - src/taskbar/taskbar.h
desktop name: first step
[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 #include "taskbarname.h"
13
14 enum { TASKBAR_NORMAL, TASKBAR_ACTIVE, TASKBAR_STATE_COUNT };
15 extern GHashTable* win_to_task_table;
16 extern Task *task_active;
17 extern Task *task_drag;
18 extern int taskbar_enabled;
19
20
21 typedef struct {
22 // always start with area
23 Area area;
24 Pixmap state_pix[TASKBAR_STATE_COUNT];
25
26 char *name;
27 int name_posy;
28 } Taskbarname;
29
30 // tint2 use one taskbar per desktop.
31 typedef struct {
32 // always start with area
33 Area area;
34
35 int desktop;
36 Pixmap state_pix[TASKBAR_STATE_COUNT];
37
38 Taskbarname bar_name;
39
40 // task parameters
41 int text_width;
42 } Taskbar;
43
44 typedef struct {
45 //always start with area
46 Area area;
47 Area area_name;
48 Background* background[TASKBAR_STATE_COUNT];
49 Background* background_name[TASKBAR_STATE_COUNT];
50 } Global_taskbar;
51
52
53 // default global data
54 void default_taskbar();
55
56 // freed memory
57 void cleanup_taskbar();
58
59 void init_taskbar();
60 void init_taskbar_panel(void *p);
61
62 void draw_taskbar (void *obj, cairo_t *c);
63 void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data);
64 Task *task_get_task (Window win);
65 GPtrArray* task_get_tasks(Window win);
66 void task_refresh_tasklist ();
67
68 int resize_taskbar(void *obj);
69 void on_change_taskbar (void *obj);
70 void set_taskbar_state(Taskbar *tskbar, int state);
71
72 // show/hide taskbar according to current desktop
73 void visible_taskbar(void *p);
74
75
76 #endif
77
This page took 0.030282 seconds and 4 git commands to generate.