X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpanel.h;h=646d79671b156ea0eb3a76c5aa2cde860bebc51d;hb=ca1495611f050e5bcce6856a6597a2a10e7afa8d;hp=9974b27a1ae65ea2243b07d86a9531762c4527fd;hpb=b19c7cbd47d9f5ea08046725b195706e11d0dae6;p=chaz%2Ftint2 diff --git a/src/panel.h b/src/panel.h index 9974b27..646d796 100644 --- a/src/panel.h +++ b/src/panel.h @@ -39,6 +39,7 @@ extern int mouse_tilt_right; enum { SINGLE_DESKTOP=0, MULTI_DESKTOP }; extern int panel_mode; extern int wm_menu; +extern int panel_dock; //panel position enum { LEFT=0x01, RIGHT=0x02, CENTER=0X04, TOP=0X08, BOTTOM=0x10 }; @@ -49,43 +50,46 @@ extern int panel_refresh; extern Task *task_active; extern Task *task_drag; -extern Task *task_urgent; -extern int tick_urgent; +extern GSList *urgent_list; extern int max_tick_urgent; +extern Imlib_Image default_icon; + +// tint2 use one panel per monitor and one taskbar per desktop. typedef struct { - // always start with area - // area.list own all objects of the panel according to config file - Area area; + // always start with area + // area.list own all objects of the panel according to config file + Area area; - // -------------------------------------------------- - // panel - Window main_win; - Pixmap temp_pmap; + // -------------------------------------------------- + // panel + Window main_win; + Pixmap temp_pmap; - // position relative to root window + // 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 + int marginx, marginy; + int pourcentx, pourcenty; + // location of the panel (monitor number) + int monitor; + + // -------------------------------------------------- + // task and taskbar parameter per panel Area g_taskbar; Global_task g_task; - // -------------------------------------------------- - // taskbar point to the first taskbar in panel.area.list. - // number of tasbar == nb_desktop - Taskbar *taskbar; - int nb_desktop; + // -------------------------------------------------- + // taskbar point to the first taskbar in panel.area.list. + // number of tasbar == nb_desktop. taskbar[i] is for desktop(i). + // taskbar[i] is used to loop over taskbar, + // while panel->area.list is used to loop over all panel's objects + Taskbar *taskbar; + int nb_desktop; - // -------------------------------------------------- - // clock - Clock clock; + // -------------------------------------------------- + // clock + Clock clock; // -------------------------------------------------- // battery @@ -95,11 +99,15 @@ typedef struct { } 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); @@ -112,5 +120,10 @@ 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); +#endif