135 lines
2.8 KiB
C
135 lines
2.8 KiB
C
/*
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
*/
|
|
#ifndef E_MOD_MAIN_H
|
|
#define E_MOD_MAIN_H
|
|
|
|
typedef struct _Config Config;
|
|
typedef struct _Config_Bar Config_Bar;
|
|
typedef struct _Engage Engage;
|
|
typedef struct _Engage_Bar Engage_Bar;
|
|
typedef struct _Engage_Tray Engage_Tray;
|
|
typedef struct _Engage_Icon Engage_Icon;
|
|
typedef struct _Engage_App_Icon Engage_App_Icon;
|
|
|
|
struct _Config
|
|
{
|
|
const char *appdir;
|
|
Evas_List *bars;
|
|
unsigned char click_focus;
|
|
/*
|
|
double handle;
|
|
char autohide;
|
|
*/
|
|
};
|
|
|
|
struct _Config_Bar
|
|
{
|
|
unsigned char enabled;
|
|
int iconsize;
|
|
int zoom;
|
|
double zoom_factor, zoom_duration;
|
|
int zoom_stretch;
|
|
int tray;
|
|
};
|
|
|
|
struct _Engage
|
|
{
|
|
E_App *apps;
|
|
Evas_List *bars;
|
|
E_Menu *config_menu;
|
|
|
|
Config *conf;
|
|
E_Module *module;
|
|
};
|
|
|
|
struct _Engage_Tray
|
|
{
|
|
Evas_Object *tray;
|
|
int w, h;
|
|
int icons;
|
|
Evas_List *wins;
|
|
Ecore_X_Window win;
|
|
Ecore_X_Time select_time;
|
|
|
|
Ecore_Event_Handler *msg_handler;
|
|
Ecore_Event_Handler *dst_handler;
|
|
};
|
|
|
|
struct _Engage_Bar
|
|
{
|
|
Engage *engage;
|
|
E_Container *con;
|
|
Evas *evas;
|
|
E_Menu *menu;
|
|
E_Menu *zoom_size_menu;
|
|
E_Menu *zoom_speed_menu;
|
|
E_Menu *icon_menu;
|
|
E_Menu *context_menu;
|
|
|
|
Evas_Object *bar_object;
|
|
Evas_Object *box_object;
|
|
Evas_Object *event_object;
|
|
Evas_Coord bw, bh;
|
|
Evas_Coord mouse_out;
|
|
|
|
Evas_List *icons;
|
|
Evas_List *contexts;
|
|
|
|
double align, align_req;
|
|
int loaded;
|
|
|
|
Evas_Coord x, y, w, h;
|
|
double zoom;
|
|
int cancel_zoom_in:1, cancel_zoom_out:1;
|
|
double zoom_start_time;
|
|
enum {ENGAGE_NORMAL, ENGAGE_ZOOMING, ENGAGE_ZOOMED, ENGAGE_UNZOOMING} state;
|
|
|
|
E_Gadman_Client *gmc;
|
|
E_Config_Dialog *cfd;
|
|
|
|
Config_Bar *conf;
|
|
Ecore_Event_Handler *add_handler;
|
|
Ecore_Event_Handler *remove_handler;
|
|
Ecore_Event_Handler *iconify_handler;
|
|
Ecore_Event_Handler *uniconify_handler;
|
|
|
|
Engage_Tray *tray;
|
|
Engage_Icon *selected_ic;
|
|
};
|
|
|
|
struct _Engage_Icon
|
|
{
|
|
Engage_Bar *eb;
|
|
E_App *app;
|
|
Evas_Object *bg_object;
|
|
Evas_Object *icon_object;
|
|
Evas_Object *event_object;
|
|
Evas_List *extra_icons, *selected_app;
|
|
|
|
double scale;
|
|
int dotorder;
|
|
};
|
|
|
|
struct _Engage_App_Icon
|
|
{
|
|
Engage_Icon *ic;
|
|
Evas_Object *bg_object;
|
|
Evas_Object *icon_object;
|
|
Evas_Object *event_object;
|
|
|
|
int min;
|
|
E_Border *border;
|
|
};
|
|
|
|
EAPI extern E_Module_Api e_modapi;
|
|
|
|
EAPI void *e_modapi_init (E_Module *m);
|
|
EAPI int e_modapi_shutdown (E_Module *m);
|
|
EAPI int e_modapi_save (E_Module *m);
|
|
EAPI int e_modapi_about (E_Module *m);
|
|
EAPI int e_modapi_config (E_Module *m);
|
|
|
|
void _engage_cb_config_updated(void *data);
|
|
#endif
|