raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=dabda6154bfa4f2eaf5e945a1b95c2505502981c

commit dabda6154bfa4f2eaf5e945a1b95c2505502981c
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Tue Jun 30 11:39:55 2020 +0000

    desklock - remove autolock as its pointless as we can lock on blank
    
    alsoit was inaccurate reling on polling (a poller) and thus wakeups
    all the time ... so use the "lock on blanking" in timers instead... :)
    less complexity to deal with in config anyway.
---
 src/bin/e_config.c                               |   4 -
 src/bin/e_config.h                               |   2 -
 src/bin/e_desklock.c                             | 116 -----------------------
 src/modules/conf_display/e_int_config_desklock.c |  27 +-----
 4 files changed, 1 insertion(+), 148 deletions(-)

diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index bbe845984..48abc692a 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -600,8 +600,6 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, desklock_on_suspend, INT);
    E_CONFIG_VAL(D, T, desklock_autolock_screensaver, INT);
    E_CONFIG_VAL(D, T, desklock_post_screensaver_time, DOUBLE);
-   E_CONFIG_VAL(D, T, desklock_autolock_idle, INT);
-   E_CONFIG_VAL(D, T, desklock_autolock_idle_timeout, DOUBLE);
    E_CONFIG_VAL(D, T, desklock_use_custom_desklock, INT);
    E_CONFIG_VAL(D, T, desklock_custom_desklock_cmd, STR);
    E_CONFIG_VAL(D, T, desklock_ask_presentation, UCHAR);
@@ -1714,8 +1712,6 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->desklock_login_box_zone, -2, 1000);
    E_CONFIG_LIMIT(e_config->desklock_autolock_screensaver, 0, 1);
    E_CONFIG_LIMIT(e_config->desklock_post_screensaver_time, 0.0, 300.0);
-   E_CONFIG_LIMIT(e_config->desklock_autolock_idle, 0, 1);
-   E_CONFIG_LIMIT(e_config->desklock_autolock_idle_timeout, 1.0, 5400.0);
    E_CONFIG_LIMIT(e_config->desklock_use_custom_desklock, 0, 1);
    E_CONFIG_LIMIT(e_config->desklock_ask_presentation, 0, 1);
    E_CONFIG_LIMIT(e_config->desklock_ask_presentation_timeout, 1.0, 300.0);
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index 08922a498..deae01d31 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -204,8 +204,6 @@ struct _E_Config
    int                       desklock_on_suspend; // GUI
    int                       desklock_autolock_screensaver; // GUI
    double                    desklock_post_screensaver_time; // GUI
-   int                       desklock_autolock_idle; // GUI
-   double                    desklock_autolock_idle_timeout; // GUI
    int                       desklock_use_custom_desklock; // GUI
    const char               *desklock_custom_desklock_cmd; // GUI
    unsigned char             desklock_ask_presentation; // GUI
diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c
index 219175b75..6da5762bf 100644
--- a/src/bin/e_desklock.c
+++ b/src/bin/e_desklock.c
@@ -1,6 +1,5 @@
 #include "e.h"
 
-
 /**************************** private data ******************************/
 
 typedef struct _E_Desklock_Run E_Desklock_Run;
@@ -14,9 +13,6 @@ struct _E_Desklock_Run
 
 static Ecore_Exe *_e_custom_desklock_exe = NULL;
 static Ecore_Event_Handler *_e_custom_desklock_exe_handler = NULL;
-static Ecore_Poller *_e_desklock_idle_poller = NULL;
-static int _e_desklock_user_idle = 0;
-static double _e_desklock_autolock_time = 0.0;
 static E_Dialog *_e_desklock_ask_presentation_dia = NULL;
 static int _e_desklock_ask_presentation_count = 0;
 
@@ -41,14 +37,11 @@ static Eina_Bool desklock_manual = EINA_FALSE;
 
 /***********************************************************************/
 static Eina_Bool _e_desklock_cb_custom_desklock_exit(void *data EINA_UNUSED, 
int type EINA_UNUSED, void *event);
-static Eina_Bool _e_desklock_cb_idle_poller(void *data EINA_UNUSED);
 static Eina_Bool _e_desklock_cb_run(void *data, int type, void *event);
 static Eina_Bool _e_desklock_cb_randr(void *data, int type, void *event);
 
 static Eina_Bool _e_desklock_state = EINA_FALSE;
 
-static void      _e_desklock_ask_presentation_mode(void);
-
 E_API int E_EVENT_DESKLOCK = 0;
 
 EINTERN int
@@ -56,9 +49,6 @@ e_desklock_init(void)
 {
    Eina_List *l;
    E_Config_Desklock_Background *bg;
-   /* A poller to tick every 256 ticks, watching for an idle user */
-   _e_desklock_idle_poller = ecore_poller_add(ECORE_POLLER_CORE, 256,
-                                              _e_desklock_cb_idle_poller, 
NULL);
 
    EINA_LIST_FOREACH(e_config->desklock_backgrounds, l, bg)
      e_filereg_register(bg->file);
@@ -214,8 +204,6 @@ e_desklock_hide_hook_del(E_Desklock_Hide_Cb cb)
 E_API int
 e_desklock_show_autolocked(void)
 {
-   if (_e_desklock_autolock_time < 1.0)
-     _e_desklock_autolock_time = ecore_loop_time_get();
    return e_desklock_show(EINA_FALSE);
 }
 
@@ -450,23 +438,6 @@ _desklock_hide_internal(void)
         current_iface = NULL;
      }
 
-   if (_e_desklock_autolock_time > 0.0)
-     {
-        if ((e_config->desklock_ask_presentation) &&
-            (e_config->desklock_ask_presentation_timeout > 0.0))
-          {
-             double max, now;
-
-             now = ecore_loop_time_get();
-             max = _e_desklock_autolock_time + 
e_config->desklock_ask_presentation_timeout;
-             if (now <= max)
-               _e_desklock_ask_presentation_mode();
-          }
-        else
-          _e_desklock_ask_presentation_count = 0;
-
-        _e_desklock_autolock_time = 0.0;
-     }
    if (getenv("E_START_MANAGER")) kill(getppid(), SIGHUP);
 }
 
@@ -541,55 +512,6 @@ _e_desklock_cb_custom_desklock_exit(void *data 
EINA_UNUSED, int type EINA_UNUSED
    return ECORE_CALLBACK_DONE;
 }
 
-static Eina_Bool
-_e_desklock_cb_idle_poller(void *data EINA_UNUSED)
-{
-   if ((e_config->desklock_autolock_idle) && (!e_config->mode.presentation))
-     {
-        double idle = 0.0, max;
-
-        /* If a desklock is already up, bail */
-        if ((_e_custom_desklock_exe) || (_e_desklock_state)) return 
ECORE_CALLBACK_RENEW;
-
-#ifndef HAVE_WAYLAND_ONLY
-        if (e_comp->comp_type == E_PIXMAP_TYPE_X)
-          idle = ecore_x_screensaver_idle_time_get();
-#endif
-#ifdef HAVE_WAYLAND
-        if (e_comp->comp_type == E_PIXMAP_TYPE_WL)
-          idle = e_comp_wl_idle_time_get();
-#endif
-
-        max = e_config->desklock_autolock_idle_timeout;
-        if (_e_desklock_ask_presentation_count > 0)
-          max *= (1 + _e_desklock_ask_presentation_count);
-
-        /* If we have exceeded our idle time... */
-        if (idle >= max)
-          {
-             /*
-              * Unfortunately, not all "desklocks" stay up for as long as
-              * the user is idle or until it is unlocked.
-              *
-              * 'xscreensaver-command -lock' for example sends a command
-              * to xscreensaver and then terminates.  So, we have another
-              * check (_e_desklock_user_idle) which lets us know that we
-              * have locked the screen due to idleness.
-              */
-             if (!_e_desklock_user_idle)
-               {
-                  _e_desklock_user_idle = 1;
-                  e_desklock_show_autolocked();
-               }
-          }
-        else
-          _e_desklock_user_idle = 0;
-     }
-
-   /* Make sure our poller persists. */
-   return ECORE_CALLBACK_RENEW;
-}
-
 static void
 _e_desklock_ask_presentation_del(void *data)
 {
@@ -650,44 +572,6 @@ _e_desklock_ask_presentation_key_down(void *data, Evas *e 
EINA_UNUSED, Evas_Obje
      _e_desklock_ask_presentation_no(NULL, dia);
 }
 
-static void
-_e_desklock_ask_presentation_mode(void)
-{
-   E_Dialog *dia;
-
-   if (_e_desklock_ask_presentation_dia) return;
-
-   if (!(dia = e_dialog_new(NULL, "E", "_desklock_ask_presentation"))) return;
-
-   e_dialog_title_set(dia, _("Activate Presentation Mode?"));
-   e_dialog_icon_set(dia, "dialog-ask", 64);
-   e_dialog_text_set(dia,
-                     _("You unlocked your desktop too fast.<ps/><ps/>"
-                       "Would you like to enable <b>presentation</b> mode and "
-                       "temporarily disable screen saver, lock and power 
saving?"));
-
-   e_object_del_attach_func_set(E_OBJECT(dia),
-                                _e_desklock_ask_presentation_del);
-   e_dialog_button_add(dia, _("Yes"), NULL,
-                       _e_desklock_ask_presentation_yes, NULL);
-   e_dialog_button_add(dia, _("No"), NULL,
-                       _e_desklock_ask_presentation_no, NULL);
-   e_dialog_button_add(dia, _("No, but increase timeout"), NULL,
-                       _e_desklock_ask_presentation_no_increase, NULL);
-   e_dialog_button_add(dia, _("No, and stop asking"), NULL,
-                       _e_desklock_ask_presentation_no_forever, NULL);
-
-   e_dialog_button_focus_num(dia, 0);
-   e_widget_list_homogeneous_set(dia->box_object, 0);
-   elm_win_center(dia->win, 1, 1);
-   e_dialog_show(dia);
-
-   evas_object_event_callback_add(dia->bg_object, EVAS_CALLBACK_KEY_DOWN,
-                                  _e_desklock_ask_presentation_key_down, dia);
-
-   _e_desklock_ask_presentation_dia = dia;
-}
-
 static Eina_Bool
 _e_desklock_run(E_Desklock_Run *task)
 {
diff --git a/src/modules/conf_display/e_int_config_desklock.c 
b/src/modules/conf_display/e_int_config_desklock.c
index 08632b10a..4466d62f8 100644
--- a/src/modules/conf_display/e_int_config_desklock.c
+++ b/src/modules/conf_display/e_int_config_desklock.c
@@ -27,7 +27,6 @@ struct _E_Config_Dialog_Data
    /* Locking */
    int              start_locked;
    int              lock_on_suspend;
-   int              auto_lock;
    int              desklock_auth_method;
    int              login_zone;
    int              zone;
@@ -40,7 +39,6 @@ struct _E_Config_Dialog_Data
 
    /* Timers */
    int              screensaver_lock;
-   double           idle_time;
    double           post_screensaver_time;
 
    /* Adv props */
@@ -54,7 +52,6 @@ struct _E_Config_Dialog_Data
    {
       Evas_Object *kbd_list;
       Evas_Object *loginbox_slider;
-      Evas_Object *auto_lock_slider;
       Evas_Object *o_table;
       Eina_List *bgs;
    } gui;
@@ -165,9 +162,7 @@ _fill_data(E_Config_Dialog_Data *cfdata)
    cfdata->desklock_layout = e_config->xkb.desklock_layout;
    cfdata->start_locked = e_config->desklock_start_locked;
    cfdata->lock_on_suspend = e_config->desklock_on_suspend;
-   cfdata->auto_lock = e_config->desklock_autolock_idle;
    cfdata->screensaver_lock = e_config->desklock_autolock_screensaver;
-   cfdata->idle_time = e_config->desklock_autolock_idle_timeout / 60;
    cfdata->post_screensaver_time = e_config->desklock_post_screensaver_time;
    if (e_config->desklock_login_box_zone >= 0)
      {
@@ -354,7 +349,7 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
 
    /* Timers */
    ol = e_widget_list_add(evas, 0, 0);
-   oc = e_widget_check_add(evas, _("Lock after screensaver activates"),
+   oc = e_widget_check_add(evas, _("Lock after blanking"),
                            &cfdata->screensaver_lock);
    e_widget_disabled_set(oc, !cfdata->use_xscreensaver);
    e_widget_list_object_append(ol, oc, 1, 1, 0.5);
@@ -366,14 +361,6 @@ _basic_create(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
      e_widget_check_widget_disable_on_unchecked_add(oc, ow);
    e_widget_list_object_append(ol, ow, 1, 1, 0.5);
 
-   oc = e_widget_check_add(evas, _("Lock when idle time exceeded"),
-                           &cfdata->auto_lock);
-   e_widget_list_object_append(ol, oc, 1, 1, 0.5);
-
-   ow = e_widget_slider_add(evas, 1, 0, _("%1.0f minutes"), 1.0, 90.0, 1.0, 0,
-                            &(cfdata->idle_time), NULL, 100);
-   e_widget_check_widget_disable_on_unchecked_add(oc, ow);
-   e_widget_list_object_append(ol, ow, 1, 1, 0.5);
    e_widget_toolbook_page_append(otb, NULL, _("Timers"), ol,
                                  1, 1, 1, 0, 0.0, 0.0);
 
@@ -470,10 +457,8 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfdata)
      }
    e_config->desklock_start_locked = cfdata->start_locked;
    e_config->desklock_on_suspend = cfdata->lock_on_suspend;
-   e_config->desklock_autolock_idle = cfdata->auto_lock;
    e_config->desklock_post_screensaver_time = cfdata->post_screensaver_time;
    e_config->desklock_autolock_screensaver = cfdata->screensaver_lock;
-   e_config->desklock_autolock_idle_timeout = (cfdata->idle_time * 60);
    e_config->desklock_ask_presentation = cfdata->ask_presentation;
    e_config->desklock_ask_presentation_timeout = 
cfdata->ask_presentation_timeout;
    if (e_config->xkb.desklock_layout != cfdata->desklock_layout)
@@ -530,16 +515,10 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfd
 
    if (e_config->xkb.desklock_layout != cfdata->desklock_layout)
      return 1;
-
    if (e_config->desklock_start_locked != cfdata->start_locked)
      return 1;
-
    if (e_config->desklock_on_suspend != cfdata->lock_on_suspend)
      return 1;
-
-   if (e_config->desklock_autolock_idle != cfdata->auto_lock)
-     return 1;
-
    if (e_config->desklock_auth_method != cfdata->desklock_auth_method)
      return 1;
    if (e_config->desklock_auth_method == E_DESKLOCK_AUTH_METHOD_PERSONAL)
@@ -567,13 +546,9 @@ _basic_check_changed(E_Config_Dialog *cfd EINA_UNUSED, 
E_Config_Dialog_Data *cfd
 
    if (e_config->desklock_autolock_screensaver != cfdata->screensaver_lock)
      return 1;
-
    if (!EINA_DBL_EQ(e_config->desklock_post_screensaver_time, 
cfdata->post_screensaver_time))
      return 1;
 
-   if (!EINA_DBL_EQ(e_config->desklock_autolock_idle_timeout, 
cfdata->idle_time * 60))
-     return 1;
-
    if (cfdata->bg_method_prev != (int)cfdata->bg_method) return 1;
    ll = cfdata->bgs;
    EINA_LIST_FOREACH(e_config->desklock_backgrounds, l, cbg)

-- 


Reply via email to