]> Dogcows Code - chaz/tint2/blob - src/panel.h
merge battery applet from Sebastian Reichel
[chaz/tint2] / src / panel.h
1 /**************************************************************************
2 * Copyright (C) 2008 Pål Staurland (staura@gmail.com)
3 * Modified (C) 2008/2009 thierry lorthiois (lorthiois@bbsoft.fr)
4 *
5 * panel :
6 * - draw panel and all objects according to panel_layout
7 *
8 *
9 **************************************************************************/
10
11 #ifndef PANEL_H
12 #define PANEL_H
13
14 #include <pango/pangocairo.h>
15 #include <sys/time.h>
16
17 #include "battery.h"
18 #include "common.h"
19 #include "clock.h"
20 #include "task.h"
21 #include "taskbar.h"
22 #include "systraybar.h"
23
24
25
26 extern int signal_pending;
27 // --------------------------------------------------
28 // mouse events
29 extern int mouse_middle;
30 extern int mouse_right;
31 extern int mouse_scroll_up;
32 extern int mouse_scroll_down;
33
34 //panel mode
35 enum { SINGLE_DESKTOP=0, MULTI_DESKTOP, SINGLE_MONITOR };
36 extern int panel_mode;
37
38 //panel position
39 enum { LEFT=0x01, RIGHT=0x02, CENTER=0X04, TOP=0X08, BOTTOM=0x10 };
40 extern int panel_position;
41
42 extern int panel_refresh;
43
44 extern Task *task_active;
45 extern Task *task_drag;
46
47
48 typedef struct {
49 // always start with area
50 // area.list own all objects of the panel according to config file
51 Area area;
52
53 // --------------------------------------------------
54 // panel
55 Window main_win;
56 Pixmap temp_pmap;
57
58 // position relative to root window
59 int posx, posy;
60 int marginx, marginy;
61 float initial_width, initial_height;
62 int pourcentx, pourcenty;
63 // location of the panel (monitor number)
64 int monitor;
65
66 // --------------------------------------------------
67 // task and taskbar parameter per panel
68 Area g_taskbar;
69 Global_task g_task;
70
71 // --------------------------------------------------
72 // taskbar point to the first taskbar in panel.area.list.
73 // number of tasbar == nb_desktop
74 Taskbar *taskbar;
75 int nb_desktop;
76
77 // --------------------------------------------------
78 // clock
79 Clock clock;
80
81 // --------------------------------------------------
82 // battery
83 Battery battery;
84
85 } Panel;
86
87
88 extern Panel *panel1;
89 extern int nb_panel;
90
91
92 void init_panel();
93 void cleanup_panel();
94 void resize_panel(void *obj);
95
96 void set_panel_properties(Panel *p);
97 void visible_object();
98
99 // draw background panel
100 void set_panel_background(Panel *p);
101
102 // detect witch panel
103 Panel *get_panel(Window win);
104
105 #endif
106
This page took 0.042027 seconds and 5 git commands to generate.