e_comp_object_signal_emit(ec->frame, "e,state,urgent", "e");
else
e_comp_object_signal_emit(ec->frame, "e,state,not_urgent", "e");
+ if (ec->icccm.urgent && e_screensaver_on_get() && e_config->screensaver_wake_on_urgent)
+ {
+ int x, y;
+ ecore_evas_pointer_xy_get(e_comp_get(NULL)->ee, &x, &y);
+ ecore_evas_pointer_warp(e_comp_get(NULL)->ee, x, y);
+ }
}
_e_client_hook_call(E_CLIENT_HOOK_EVAL_POST_FRAME_ASSIGN, ec);
}
E_CONFIG_VAL(D, T, screensaver_ask_presentation, UCHAR);
E_CONFIG_VAL(D, T, screensaver_ask_presentation_timeout, DOUBLE);
+ E_CONFIG_VAL(D, T, screensaver_wake_on_notify, INT);
+ E_CONFIG_VAL(D, T, screensaver_wake_on_urgent, INT);
+
E_CONFIG_VAL(D, T, screensaver_suspend, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_on_ac, UCHAR);
E_CONFIG_VAL(D, T, screensaver_suspend_delay, DOUBLE);
E_CONFIG_LIMIT(e_config->screensaver_ask_presentation, 0, 1);
E_CONFIG_LIMIT(e_config->screensaver_ask_presentation_timeout, 1.0, 300.0);
+ E_CONFIG_LIMIT(e_config->screensaver_wake_on_notify, 0, 1);
+ E_CONFIG_LIMIT(e_config->screensaver_wake_on_urgent, 0, 1);
+
E_CONFIG_LIMIT(e_config->clientlist_group_by, 0, 2);
E_CONFIG_LIMIT(e_config->clientlist_include_all_zones, 0, 1);
E_CONFIG_LIMIT(e_config->clientlist_separate_with, 0, 2);
unsigned char screensaver_ask_presentation; // GUI
double screensaver_ask_presentation_timeout; // GUI
+ int screensaver_wake_on_notify; // GUI
+ int screensaver_wake_on_urgent; // GUI
+
unsigned char screensaver_suspend; // GUI
unsigned char screensaver_suspend_on_ac; // GUI
double screensaver_suspend_delay; // GUI
e_object_del(E_OBJECT(n));
return NULL;
}
+ if (e_screensaver_on_get() && e_config->screensaver_wake_on_notify)
+ {
+ int x, y;
+ ecore_evas_pointer_xy_get(e_comp_get(NULL)->ee, &x, &y);
+ ecore_evas_pointer_warp(e_comp_get(NULL)->ee, x, y);
+ }
eldbus_message_iter_dict_iterate(hints_iter, "sv", hints_dict_iter, n);
n->app_name = eina_stringshare_add(n->app_name);
n->icon.icon = eina_stringshare_add(n->icon.icon);
int screensaver_suspend_on_ac;
double screensaver_suspend_delay;
+ int wake_on_notify;
+ int wake_on_urgent;
+
struct
{
Evas_Object *ask_presentation_slider;
cfdata->screensaver_suspend = e_config->screensaver_suspend;
cfdata->screensaver_suspend_on_ac = e_config->screensaver_suspend_on_ac;
cfdata->screensaver_suspend_delay = e_config->screensaver_suspend_delay;
+
+ cfdata->wake_on_notify = e_config->screensaver_wake_on_notify;
+ cfdata->wake_on_urgent = e_config->screensaver_wake_on_urgent;
}
static void *
e_config->screensaver_suspend_on_ac = cfdata->screensaver_suspend_on_ac;
e_config->screensaver_suspend_delay = cfdata->screensaver_suspend_delay;
+ e_config->screensaver_wake_on_notify = cfdata->wake_on_notify;
+ e_config->screensaver_wake_on_urgent = cfdata->wake_on_urgent;
+
// enough of dpms vs screensaver being different! useless
// e_config->dpms_enable = e_config->screensaver_enable;
// e_config->dpms_standby_enable = e_config->dpms_enable;
(e_config->screensaver_ask_presentation_timeout != cfdata->ask_presentation_timeout) ||
(e_config->screensaver_suspend != cfdata->screensaver_suspend) ||
(e_config->screensaver_suspend_on_ac != cfdata->screensaver_suspend_on_ac) ||
- (e_config->screensaver_suspend_delay != cfdata->screensaver_suspend_delay));
+ (e_config->screensaver_suspend_delay != cfdata->screensaver_suspend_delay) ||
+ (e_config->screensaver_wake_on_notify != cfdata->wake_on_notify) ||
+ (e_config->screensaver_wake_on_urgent != cfdata->wake_on_urgent)
+ );
}
static Evas_Object *
e_widget_toolbook_page_append(otb, NULL, _("Blanking"), ol,
1, 0, 1, 0, 0.5, 0.0);
+
+ /* Wakeups */
+ ol = e_widget_list_add(evas, 0, 0);
+ oc = e_widget_check_add(evas, _("Wake on notification"),
+ &(cfdata->wake_on_notify));
+ e_widget_list_object_append(ol, oc, 1, 1, 0.5);
+ oc = e_widget_check_add(evas, _("Wake on urgency"),
+ &(cfdata->wake_on_urgent));
+ e_widget_list_object_append(ol, oc, 1, 1, 0.5);
+ e_widget_toolbook_page_append(otb, NULL, _("Wakeups"), ol,
+ 1, 0, 1, 0, 0.5, 0.0);
/* Presentation */
ol = e_widget_list_add(evas, 0, 0);
oc2 = e_widget_check_add(evas, _("Suggest if deactivated before"),