]> Dogcows Code - chaz/tint2/blob - src/panel.h
allow multi_desktop even with multi monitors config
[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 };
36 extern int panel_mode;
37 extern int wm_menu;
38
39 //panel position
40 enum { LEFT=0x01, RIGHT=0x02, CENTER=0X04, TOP=0X08, BOTTOM=0x10 };
41 extern int panel_position;
42
43 extern int panel_refresh;
44
45 extern Task *task_active;
46 extern Task *task_drag;
47 extern Task *task_urgent;
48
49
50 typedef struct {
51 // always start with area
52 // area.list own all objects of the panel according to config file
53 Area area;
54
55 // --------------------------------------------------
56 // panel
57 Window main_win;
58 Pixmap temp_pmap;
59
60 // position relative to root window
61 int posx, posy;
62 int marginx, marginy;
63 float initial_width, initial_height;
64 int pourcentx, pourcenty;
65 // location of the panel (monitor number)
66 int monitor;
67
68 // --------------------------------------------------
69 // task and taskbar parameter per panel
70 Area g_taskbar;
71 Global_task g_task;
72
73 // --------------------------------------------------
74 // taskbar point to the first taskbar in panel.area.list.
75 // number of tasbar == nb_desktop
76 Taskbar *taskbar;
77 int nb_desktop;
78
79 // --------------------------------------------------
80 // clock
81 Clock clock;
82
83 // --------------------------------------------------
84 // battery
85 Battery battery;
86
87 } Panel;
88
89
90 extern Panel *panel1;
91 extern int nb_panel;
92
93
94 void init_panel();
95 void cleanup_panel();
96 void resize_panel(void *obj);
97
98 void set_panel_properties(Panel *p);
99 void visible_object();
100
101 // draw background panel
102 void set_panel_background(Panel *p);
103
104 // detect witch panel
105 Panel *get_panel(Window win);
106
107 #endif
108
This page took 0.039202 seconds and 5 git commands to generate.