enlightenment/src/bin/e_comp_cfdata.h

86 lines
3.4 KiB
C

#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
#define E_COMP_VERSION 1
struct _E_Comp_Config
{
int version;
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 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;
Eina_Bool enable_advanced_features;
// 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 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