]> Dogcows Code - chaz/tint2/blobdiff - src/panel.h
*add* more task states (normal, active, iconified, urgent), with each an own backgrou...
[chaz/tint2] / src / panel.h
index b3c8fded14817dad4217637fdd73c1f67b8da6c3..cce1d3b35c5f971b778bd9edeb897e207930c595 100644 (file)
@@ -37,9 +37,11 @@ extern int mouse_tilt_right;
 
 //panel mode
 enum { SINGLE_DESKTOP=0, MULTI_DESKTOP };
+enum { BOTTOM_LAYER, NORMAL_LAYER, TOP_LAYER };
 extern int panel_mode;
-extern int wm_menu, wm_menu_open;
+extern int wm_menu;
 extern int panel_dock;
+extern int panel_layer;
 
 //panel position
 enum { LEFT=0x01, RIGHT=0x02, CENTER=0X04, TOP=0X08, BOTTOM=0x10 };
@@ -48,12 +50,20 @@ extern int panel_horizontal;
 
 extern int panel_refresh;
 
+//panel autohide
+enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE };
+extern int panel_autohide;
+extern int panel_autohide_show_timeout;
+extern int panel_autohide_hide_timeout;
+extern int panel_autohide_height;  // for vertical panels this is of course the width
+extern int panel_strut_policy;
+
 extern Task *task_active;
 extern Task *task_drag;
-extern Task *task_urgent;
-extern int  tick_urgent;
 extern int  max_tick_urgent;
 
+extern GArray* backgrounds;
+
 extern Imlib_Image default_icon;
 
 
@@ -71,14 +81,13 @@ typedef struct {
        // position relative to root window
        int posx, posy;
        int marginx, marginy;
-       float initial_width, initial_height;
        int pourcentx, pourcenty;
        // location of the panel (monitor number)
        int monitor;
 
        // --------------------------------------------------
        // task and taskbar parameter per panel
-       Area g_taskbar;
+       Global_taskbar g_taskbar;
        Global_task g_task;
 
        // --------------------------------------------------
@@ -98,14 +107,23 @@ typedef struct {
 #ifdef ENABLE_BATTERY
        Battery battery;
 #endif
+
+       // autohide
+       int is_hidden;
+       int hidden_width, hidden_height;
+       Pixmap hidden_pixmap;
+       timeout* autohide_timeout;
 } Panel;
 
 
+extern Panel panel_config;
 extern Panel *panel1;
 extern int  nb_panel;
 
-
+// realloc panels according to number of monitor
+// use panel_config as default value
 void init_panel();
+
 void init_panel_size_and_position(Panel *panel);
 void cleanup_panel();
 void resize_panel(void *obj);
@@ -119,5 +137,13 @@ void set_panel_background(Panel *p);
 // detect witch panel
 Panel *get_panel(Window win);
 
-#endif
+Taskbar *click_taskbar (Panel *panel, int x, int y);
+Task *click_task (Panel *panel, int x, int y);
+int click_padding(Panel *panel, int x, int y);
+int click_clock(Panel *panel, int x, int y);
+Area* click_area(Panel *panel, int x, int y);
 
+void autohide_trigger_show();
+void autohide_trigger_hide();
+
+#endif
This page took 0.024336 seconds and 4 git commands to generate.