2 #include "e_mod_comp_cfdata.h"
5 e_mod_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd)
7 *match_edd = E_CONFIG_DD_NEW("Comp_Match", Match);
12 E_CONFIG_VAL(D, T, title, STR);
13 E_CONFIG_VAL(D, T, name, STR);
14 E_CONFIG_VAL(D, T, clas, STR);
15 E_CONFIG_VAL(D, T, role, STR);
16 E_CONFIG_VAL(D, T, primary_type, INT);
17 E_CONFIG_VAL(D, T, borderless, CHAR);
18 E_CONFIG_VAL(D, T, dialog, CHAR);
19 E_CONFIG_VAL(D, T, accepts_focus, CHAR);
20 E_CONFIG_VAL(D, T, vkbd, CHAR);
21 E_CONFIG_VAL(D, T, quickpanel, CHAR);
22 E_CONFIG_VAL(D, T, argb, CHAR);
23 E_CONFIG_VAL(D, T, fullscreen, CHAR);
24 E_CONFIG_VAL(D, T, modal, CHAR);
25 E_CONFIG_VAL(D, T, shadow_style, STR);
27 *conf_edd = E_CONFIG_DD_NEW("Comp_Config", Config);
32 E_CONFIG_VAL(D, T, shadow_file, STR);
33 E_CONFIG_VAL(D, T, shadow_style, STR);
34 E_CONFIG_VAL(D, T, engine, INT);
35 E_CONFIG_VAL(D, T, max_unmapped_pixels, INT);
36 E_CONFIG_VAL(D, T, max_unmapped_time, INT);
37 E_CONFIG_VAL(D, T, min_unmapped_time, INT);
38 E_CONFIG_VAL(D, T, fps_average_range, INT);
39 E_CONFIG_VAL(D, T, fps_corner, UCHAR);
40 E_CONFIG_VAL(D, T, fps_show, UCHAR);
41 E_CONFIG_VAL(D, T, use_shadow, UCHAR);
42 E_CONFIG_VAL(D, T, indirect, UCHAR);
43 E_CONFIG_VAL(D, T, texture_from_pixmap, UCHAR);
44 E_CONFIG_VAL(D, T, lock_fps, UCHAR);
45 E_CONFIG_VAL(D, T, efl_sync, UCHAR);
46 E_CONFIG_VAL(D, T, loose_sync, UCHAR);
47 E_CONFIG_VAL(D, T, grab, UCHAR);
48 E_CONFIG_VAL(D, T, vsync, UCHAR);
49 E_CONFIG_VAL(D, T, keep_unmapped, UCHAR);
50 E_CONFIG_VAL(D, T, send_flush, UCHAR);
51 E_CONFIG_VAL(D, T, send_dump, UCHAR);
52 E_CONFIG_VAL(D, T, nocomp_fs, UCHAR);
53 E_CONFIG_VAL(D, T, smooth_windows, UCHAR);
54 E_CONFIG_VAL(D, T, first_draw_delay, DOUBLE);
55 E_CONFIG_LIST(D, T, match.popups, *match_edd);
56 E_CONFIG_LIST(D, T, match.borders, *match_edd);
57 E_CONFIG_LIST(D, T, match.overrides, *match_edd);
58 E_CONFIG_LIST(D, T, match.menus, *match_edd);
62 e_mod_comp_cfdata_config_new(void)
67 cfg = E_NEW(Config, 1);
68 cfg->shadow_file = NULL;
69 cfg->shadow_style = eina_stringshare_add("default");
70 cfg->engine = E_EVAS_ENGINE_SOFTWARE_X11;
71 cfg->max_unmapped_pixels = 32 * 1024; // implement
72 cfg->max_unmapped_time = 10 * 3600; // implement
73 cfg->min_unmapped_time = 5 * 60; // implement
74 cfg->fps_average_range = 30;
79 cfg->texture_from_pixmap = 1;
85 cfg->keep_unmapped = 1;
86 cfg->send_flush = 1; // implement
87 cfg->send_dump = 1; // implement
88 cfg->nocomp_fs = 1; // buggy
89 cfg->smooth_windows = 0; // 1 if gl, 0 if not
90 cfg->first_draw_delay = 0.15;
92 cfg->match.popups = NULL;
93 mat = E_NEW(Match, 1);
94 cfg->match.popups = eina_list_append(cfg->match.popups, mat);
95 mat->name = eina_stringshare_add("shelf");
96 mat->shadow_style = eina_stringshare_add("popup");
97 mat = E_NEW(Match, 1);
98 cfg->match.popups = eina_list_append(cfg->match.popups, mat);
99 mat->shadow_style = eina_stringshare_add("popup");
101 cfg->match.borders = NULL;
103 cfg->match.overrides = NULL;
104 mat = E_NEW(Match, 1);
105 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
106 mat->name = eina_stringshare_add("E");
107 mat->clas = eina_stringshare_add("Background_Window");
108 mat->shadow_style = eina_stringshare_add("none");
109 mat = E_NEW(Match, 1);
110 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
111 mat->name = eina_stringshare_add("E");
112 mat->clas = eina_stringshare_add("everything");
113 mat->shadow_style = eina_stringshare_add("everything");
114 mat = E_NEW(Match, 1);
115 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
116 mat->primary_type = ECORE_X_WINDOW_TYPE_DROPDOWN_MENU;
117 mat->shadow_style = eina_stringshare_add("menu");
118 mat = E_NEW(Match, 1);
119 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
120 mat->primary_type = ECORE_X_WINDOW_TYPE_POPUP_MENU;
121 mat->shadow_style = eina_stringshare_add("menu");
122 mat = E_NEW(Match, 1);
123 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
124 mat->primary_type = ECORE_X_WINDOW_TYPE_COMBO;
125 mat->shadow_style = eina_stringshare_add("menu");
126 mat = E_NEW(Match, 1);
127 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
128 mat->primary_type = ECORE_X_WINDOW_TYPE_TOOLTIP;
129 mat->shadow_style = eina_stringshare_add("menu");
130 mat = E_NEW(Match, 1);
131 cfg->match.overrides = eina_list_append(cfg->match.overrides, mat);
132 mat->shadow_style = eina_stringshare_add("popup");
134 cfg->match.menus = NULL;
135 mat = E_NEW(Match, 1);
136 cfg->match.menus = eina_list_append(cfg->match.menus, mat);
137 mat->shadow_style = eina_stringshare_add("menu");
143 _match_list_free(Eina_List *list)
147 EINA_LIST_FREE(list, m)
149 if (m->title) eina_stringshare_del(m->title);
150 if (m->name) eina_stringshare_del(m->name);
151 if (m->clas) eina_stringshare_del(m->clas);
152 if (m->role) eina_stringshare_del(m->role);
153 if (m->shadow_style) eina_stringshare_del(m->shadow_style);
159 e_mod_cfdata_config_free(Config *cfg)
161 if (cfg->shadow_file) eina_stringshare_del(cfg->shadow_file);
162 if (cfg->shadow_style) eina_stringshare_del(cfg->shadow_style);
164 _match_list_free(cfg->match.popups);
165 _match_list_free(cfg->match.borders);
166 _match_list_free(cfg->match.overrides);
167 _match_list_free(cfg->match.menus);