E_CONFIG_VAL(D, T, nofade, UCHAR);
E_CONFIG_VAL(D, T, smooth_windows, UCHAR);
E_CONFIG_VAL(D, T, first_draw_delay, DOUBLE);
+ E_CONFIG_VAL(D, T, skip_first_damage, UCHAR);
E_CONFIG_VAL(D, T, disable_screen_effects, UCHAR);
E_CONFIG_VAL(D, T, enable_advanced_features, UCHAR);
E_CONFIG_VAL(D, T, fast_popups, UCHAR);
cfg->nofade = 0;
cfg->smooth_windows = 0; // 1 if gl, 0 if not
cfg->first_draw_delay = 0.15;
+ cfg->skip_first_damage = 1;
cfg->match.popups = NULL;
unsigned char smooth_windows;
unsigned char nofade;
double first_draw_delay;
+ Eina_Bool skip_first_damage;
Eina_Bool disable_screen_effects;
Eina_Bool enable_advanced_features;
// the following options add the "/fast" suffix to the normal groups
if (!cw->update_count || !(e_pixmap_validate_check(cw->ec->pixmap))
#ifndef HAVE_WAYLAND_ONLY
- || (cd->damage_count < 2))
+ || (cd->damage_count < (e_comp_config_get()->skip_first_damage + 1))
#else
)
#endif
e_comp_object_damage(ec->frame, 0, 0, ev->area.width, ev->area.height);
else
e_comp_object_damage(ec->frame, ev->area.x, ev->area.y, ev->area.width, ev->area.height);
- if ((!ec->re_manage) && (!ec->override) && (!ec->comp_data->first_damage))
+
+ if ((e_comp_config_get()->skip_first_damage) &&
+ (!ec->re_manage) && (!ec->override) && (!ec->comp_data->first_damage))
e_comp_object_render_update_del(ec->frame);
else
E_FREE_FUNC(ec->comp_data->first_draw_delay, ecore_timer_del);