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");
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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_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);
|
||||
|
@ -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_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);
|
||||
|
|
|
@ -226,6 +226,9 @@ struct _E_Config
|
|||
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
|
||||
|
|
|
@ -90,6 +90,12 @@ notify_cb(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Messag
|
|||
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);
|
||||
|
|
|
@ -28,6 +28,9 @@ struct _E_Config_Dialog_Data
|
|||
int screensaver_suspend_on_ac;
|
||||
double screensaver_suspend_delay;
|
||||
|
||||
int wake_on_notify;
|
||||
int wake_on_urgent;
|
||||
|
||||
struct
|
||||
{
|
||||
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_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 *
|
||||
|
@ -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_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;
|
||||
|
@ -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_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 *
|
||||
|
@ -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,
|
||||
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"),
|
||||
|
|
Loading…
Reference in New Issue