X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpanel.h;h=cce1d3b35c5f971b778bd9edeb897e207930c595;hb=cfd8016c95b06037d3a68448f31126b662a64143;hp=1e7da9e83b7decb3b458015376a1d6c459180bc0;hpb=95c0cc701139465fa06efd64d9ca55607024acce;p=chaz%2Ftint2 diff --git a/src/panel.h b/src/panel.h index 1e7da9e..cce1d3b 100644 --- a/src/panel.h +++ b/src/panel.h @@ -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; 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,6 +107,12 @@ typedef struct { #ifdef ENABLE_BATTERY Battery battery; #endif + + // autohide + int is_hidden; + int hidden_width, hidden_height; + Pixmap hidden_pixmap; + timeout* autohide_timeout; } Panel; @@ -105,7 +120,10 @@ 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