feature: blanking options for wakeup on events (urgent + notify)
This commit is contained in:
parent
aefaaea57b
commit
6ef655d2dd
|
@ -2084,6 +2084,12 @@ e_client_idler_before(void)
|
||||||
e_comp_object_signal_emit(ec->frame, "e,state,urgent", "e");
|
e_comp_object_signal_emit(ec->frame, "e,state,urgent", "e");
|
||||||
else
|
else
|
||||||
e_comp_object_signal_emit(ec->frame, "e,state,not_urgent", "e");
|
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_client_hook_call(E_CLIENT_HOOK_EVAL_POST_FRAME_ASSIGN, ec);
|
||||||
}
|
}
|
||||||
|
|
|
@ -582,6 +582,9 @@ _e_config_edd_init(Eina_Bool old)
|
||||||
E_CONFIG_VAL(D, T, screensaver_ask_presentation, UCHAR);
|
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_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, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, screensaver_suspend_on_ac, UCHAR);
|
E_CONFIG_VAL(D, T, screensaver_suspend_on_ac, UCHAR);
|
||||||
E_CONFIG_VAL(D, T, screensaver_suspend_delay, DOUBLE);
|
E_CONFIG_VAL(D, T, screensaver_suspend_delay, DOUBLE);
|
||||||
|
@ -1432,6 +1435,9 @@ e_config_load(void)
|
||||||
E_CONFIG_LIMIT(e_config->screensaver_ask_presentation, 0, 1);
|
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_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_group_by, 0, 2);
|
||||||
E_CONFIG_LIMIT(e_config->clientlist_include_all_zones, 0, 1);
|
E_CONFIG_LIMIT(e_config->clientlist_include_all_zones, 0, 1);
|
||||||
E_CONFIG_LIMIT(e_config->clientlist_separate_with, 0, 2);
|
E_CONFIG_LIMIT(e_config->clientlist_separate_with, 0, 2);
|
||||||
|
|
|
@ -226,6 +226,9 @@ struct _E_Config
|
||||||
unsigned char screensaver_ask_presentation; // GUI
|
unsigned char screensaver_ask_presentation; // GUI
|
||||||
double screensaver_ask_presentation_timeout; // 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; // GUI
|
||||||
unsigned char screensaver_suspend_on_ac; // GUI
|
unsigned char screensaver_suspend_on_ac; // GUI
|
||||||
double screensaver_suspend_delay; // GUI
|
double screensaver_suspend_delay; // GUI
|
||||||
|
|
|
@ -90,6 +90,12 @@ notify_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Messag
|
||||||
e_object_del(E_OBJECT(n));
|
e_object_del(E_OBJECT(n));
|
||||||
return NULL;
|
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);
|
eldbus_message_iter_dict_iterate(hints_iter, "sv", hints_dict_iter, n);
|
||||||
n->app_name = eina_stringshare_add(n->app_name);
|
n->app_name = eina_stringshare_add(n->app_name);
|
||||||
n->icon.icon = eina_stringshare_add(n->icon.icon);
|
n->icon.icon = eina_stringshare_add(n->icon.icon);
|
||||||
|
|
|
@ -28,6 +28,9 @@ struct _E_Config_Dialog_Data
|
||||||
int screensaver_suspend_on_ac;
|
int screensaver_suspend_on_ac;
|
||||||
double screensaver_suspend_delay;
|
double screensaver_suspend_delay;
|
||||||
|
|
||||||
|
int wake_on_notify;
|
||||||
|
int wake_on_urgent;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
Evas_Object *ask_presentation_slider;
|
Evas_Object *ask_presentation_slider;
|
||||||
|
@ -67,6 +70,9 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
||||||
cfdata->screensaver_suspend = e_config->screensaver_suspend;
|
cfdata->screensaver_suspend = e_config->screensaver_suspend;
|
||||||
cfdata->screensaver_suspend_on_ac = e_config->screensaver_suspend_on_ac;
|
cfdata->screensaver_suspend_on_ac = e_config->screensaver_suspend_on_ac;
|
||||||
cfdata->screensaver_suspend_delay = e_config->screensaver_suspend_delay;
|
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 *
|
static void *
|
||||||
|
@ -97,6 +103,9 @@ _basic_apply(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
|
||||||
e_config->screensaver_suspend_on_ac = cfdata->screensaver_suspend_on_ac;
|
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;
|
||||||
|
|
||||||
// enough of dpms vs screensaver being different! useless
|
// enough of dpms vs screensaver being different! useless
|
||||||
// e_config->dpms_enable = e_config->screensaver_enable;
|
// e_config->dpms_enable = e_config->screensaver_enable;
|
||||||
// e_config->dpms_standby_enable = e_config->dpms_enable;
|
// e_config->dpms_standby_enable = e_config->dpms_enable;
|
||||||
|
@ -135,7 +144,10 @@ _basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfda
|
||||||
(e_config->screensaver_ask_presentation_timeout != cfdata->ask_presentation_timeout) ||
|
(e_config->screensaver_ask_presentation_timeout != cfdata->ask_presentation_timeout) ||
|
||||||
(e_config->screensaver_suspend != cfdata->screensaver_suspend) ||
|
(e_config->screensaver_suspend != cfdata->screensaver_suspend) ||
|
||||||
(e_config->screensaver_suspend_on_ac != cfdata->screensaver_suspend_on_ac) ||
|
(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 *
|
static Evas_Object *
|
||||||
|
@ -178,6 +190,17 @@ _basic_create(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dialog_Data
|
||||||
|
|
||||||
e_widget_toolbook_page_append(otb, NULL, _("Blanking"), ol,
|
e_widget_toolbook_page_append(otb, NULL, _("Blanking"), ol,
|
||||||
1, 0, 1, 0, 0.5, 0.0);
|
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 */
|
/* Presentation */
|
||||||
ol = e_widget_list_add(evas, 0, 0);
|
ol = e_widget_list_add(evas, 0, 0);
|
||||||
oc2 = e_widget_check_add(evas, _("Suggest if deactivated before"),
|
oc2 = e_widget_check_add(evas, _("Suggest if deactivated before"),
|
||||||
|
|
Loading…
Reference in New Issue