X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=blobdiff_plain;f=src%2Fpanel.h;h=083d0f1cf540b89388f3ae39516c9dd389175491;hp=646d79671b156ea0eb3a76c5aa2cde860bebc51d;hb=928fc258ac46f2cc098f714921c028351b07ec31;hpb=2cccd91fa633d9bfefd46073981276cb29fda5e7 diff --git a/src/panel.h b/src/panel.h index 646d796..083d0f1 100644 --- a/src/panel.h +++ b/src/panel.h @@ -19,6 +19,7 @@ #include "task.h" #include "taskbar.h" #include "systraybar.h" +#include "launcher.h" #ifdef ENABLE_BATTERY #include "battery.h" @@ -37,9 +38,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 }; @@ -47,12 +50,21 @@ extern int panel_position; extern int panel_horizontal; extern int panel_refresh; +extern int task_dragged; + +//panel autohide +enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE, STRUT_NONE }; +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 char *panel_items_order; -extern Task *task_active; -extern Task *task_drag; -extern GSList *urgent_list; extern int max_tick_urgent; +extern GArray* backgrounds; + extern Imlib_Image default_icon; @@ -76,7 +88,7 @@ typedef struct { // -------------------------------------------------- // task and taskbar parameter per panel - Area g_taskbar; + Global_taskbar g_taskbar; Global_task g_task; // -------------------------------------------------- @@ -96,6 +108,14 @@ typedef struct { #ifdef ENABLE_BATTERY Battery battery; #endif + + Launcher launcher; + + // autohide + int is_hidden; + int hidden_width, hidden_height; + Pixmap hidden_pixmap; + timeout* autohide_timeout; } Panel; @@ -103,14 +123,21 @@ extern Panel panel_config; extern Panel *panel1; extern int nb_panel; + +// default global data +void default_panel(); + +// freed memory +void cleanup_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); +int resize_panel(void *obj); +void set_panel_items(Panel *p); void set_panel_properties(Panel *p); void visible_object(); @@ -122,8 +149,15 @@ Panel *get_panel(Window win); Taskbar *click_taskbar (Panel *panel, int x, int y); Task *click_task (Panel *panel, int x, int y); +Launcher *click_launcher (Panel *panel, int x, int y); +LauncherIcon *click_launcher_icon (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_show(void* p); +void autohide_hide(void* p); +void autohide_trigger_show(Panel* p); +void autohide_trigger_hide(Panel* p); + #endif