#ifdef E_TYPEDEFS typedef struct _E_Comp_Config E_Comp_Config; typedef struct _E_Comp_Match E_Comp_Match; #else #ifndef E_COMP_CFDATA_H #define E_COMP_CFDATA_H struct _E_Comp_Config { const char *shadow_style; int engine; int max_unmapped_pixels; int max_unmapped_time; int min_unmapped_time; int fps_average_range; unsigned char fps_corner; unsigned char fps_show; unsigned char indirect; unsigned char texture_from_pixmap; unsigned char lock_fps; unsigned char loose_sync; unsigned char efl_sync; unsigned char grab; unsigned char vsync; unsigned char swap_mode; unsigned char keep_unmapped; unsigned char send_flush; unsigned char send_dump; unsigned char nocomp_fs; unsigned char smooth_windows; unsigned char nofade; double first_draw_delay; Eina_Bool disable_screen_effects; // the following options add the "/fast" suffix to the normal groups Eina_Bool fast_popups; Eina_Bool fast_borders; Eina_Bool fast_menus; Eina_Bool fast_overrides; Eina_Bool fast_objects; struct { Eina_Bool disable_popups; Eina_List *popups; // used for e popups Eina_Bool disable_borders; Eina_List *borders; // used for borders Eina_Bool disable_overrides; Eina_List *overrides; // used for client menus, tooltips etc. Eina_Bool disable_menus; Eina_List *menus; // used for e menus Eina_Bool disable_objects; Eina_List *objects; // used for e objects which are not popups or menus } match; }; struct _E_Comp_Match { const char *title; // glob - used for borders, NULL if not to be used const char *name; // glob - used for borders, overrides, popups, NULL if not to be used const char *clas; // glob - used for borders, overrides, NULL if not to be used const char *role; // glob - used for borders const char *shadow_style; // shadow style to use int primary_type; // Ecore_X_Window_Type - used for borders, overrides, first one found - ECORE_X_WINDOW_TYPE_UNKNOWN if not to be used char borderless; // used for borders, 0 == dont use, 1 == borderless, -1 == not borderless char dialog; // used for borders, 0 == don't use, 1 == dialog, -1 == not dialog char accepts_focus; // used for borders, 0 == don't use, 1 == accepts focus, -1 == does not accept focus char vkbd; // used for borders, 0 == don't use, 1 == is vkbd, -1 == not vkbd char quickpanel; // used for borders, 0 == don't use, 1 == is quickpanel, -1 == not quickpanel char argb; // used for borders, overrides, popups, menus, 0 == don't use, 1 == is argb, -1 == not argb char fullscreen; // used for borders, 0 == don't use, 1 == is fullscreen, -1 == not fullscreen char modal; // used for borders, 0 == don't use, 1 == is modal, -1 == not modal char focus; // used for setting focus state (on popups): 1 is focused, unset is use regular logic char urgent; // used for setting urgent state (on popups): 1 is urgent, unset is use regular logic char no_shadow; // set whether shadow is disabled }; EAPI void e_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd); EAPI E_Comp_Config *e_comp_cfdata_config_new(void); EAPI void e_comp_cfdata_config_free(E_Comp_Config *cfg); EAPI void e_comp_cfdata_match_free(E_Comp_Match *m); #endif #endif