hello,
here is a patch that adds the ability to lock the screen (via desklock)
when suspending or hibernating using e17 system controls. checkbox in
conf_desklock.
what do you think about it ?
laurent
Index: src/bin/e_config.c
===================================================================
--- src/bin/e_config.c (revision 43803)
+++ src/bin/e_config.c (working copy)
@@ -587,6 +587,8 @@
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_on_suspend, INT);
+ E_CONFIG_VAL(D, T, desklock_on_hibernate, INT);
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);
@@ -941,6 +943,11 @@
COPYVAL(desk_flip_pan_y_axis_factor);
IFCFGEND;
+ IFCFG(0x0134);
+ COPYVAL(desklock_on_suspend);
+ COPYVAL(desklock_on_hibernate);
+ IFCFGEND;
+
e_config->config_version = E_CONFIG_FILE_VERSION;
_e_config_free(tcfg);
}
Index: src/bin/e_config.h
===================================================================
--- src/bin/e_config.h (revision 43803)
+++ src/bin/e_config.h (working copy)
@@ -35,7 +35,7 @@
/* increment this whenever a new set of config values are added but the users
* config doesn't need to be wiped - simply new values need to be put in
*/
-#define E_CONFIG_FILE_GENERATION 0x0133
+#define E_CONFIG_FILE_GENERATION 0x0134
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
#define E_EVAS_ENGINE_DEFAULT 0
@@ -221,6 +221,8 @@
double desklock_post_screensaver_time; // GUI
int desklock_autolock_idle; // GUI
double desklock_autolock_idle_timeout; // GUI
+ int desklock_on_suspend; // GUI
+ int desklock_on_hibernate; // GUI
int desklock_use_custom_desklock; // GUI
const char *desklock_custom_desklock_cmd; // GUI
Eina_Bool desklock_ask_presentation; // GUI
Index: src/bin/e_sys.c
===================================================================
--- src/bin/e_sys.c (revision 43803)
+++ src/bin/e_sys.c (working copy)
@@ -591,6 +591,8 @@
if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
e_obj_dialog_cb_delete_set(od, _e_sys_dialog_cb_delete);
_e_sys_dialog = od;
+ if (e_config->desklock_on_suspend)
+ e_desklock_show();
/* FIXME: display suspend status */
}
break;
@@ -617,6 +619,8 @@
if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
_e_sys_dialog = od;
e_obj_dialog_cb_delete_set(od, _e_sys_dialog_cb_delete);
+ if (e_config->desklock_on_hibernate)
+ e_desklock_show();
/* FIXME: display hibernate status */
}
break;
Index: src/modules/conf_desklock/e_int_config_desklock.c
===================================================================
--- src/modules/conf_desklock/e_int_config_desklock.c (revision 43803)
+++ src/modules/conf_desklock/e_int_config_desklock.c (working copy)
@@ -47,6 +47,8 @@
int screensaver_lock;
double idle_time;
double post_screensaver_time;
+ int on_suspend;
+ int on_hibernate;
/* Adv props */
int bg_method;
@@ -132,6 +134,8 @@
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->on_suspend = e_config->desklock_on_suspend;
+ cfdata->on_hibernate = e_config->desklock_on_hibernate;
cfdata->post_screensaver_time = e_config->desklock_post_screensaver_time;
if (e_config->desklock_login_box_zone >= 0)
{
@@ -227,6 +231,14 @@
cfdata->gui.basic.auto_lock_slider = ow;
e_widget_disabled_set(ow, !cfdata->use_xscreensaver);
e_widget_framelist_object_append(of, ow);
+ ow = e_widget_check_add(evas, _("Lock on suspend"),
+ &cfdata->on_suspend);
+ e_widget_disabled_set(ow, !cfdata->use_xscreensaver);
+ e_widget_framelist_object_append(of, ow);
+ ow = e_widget_check_add(evas, _("Lock on hibernate"),
+ &cfdata->on_hibernate);
+ e_widget_disabled_set(ow, !cfdata->use_xscreensaver);
+ e_widget_framelist_object_append(of, ow);
e_widget_list_object_append(o, of, 1, 1, 0.5);
_basic_auto_lock_cb_changed(cfdata, NULL);
@@ -243,6 +255,8 @@
e_config->desklock_autolock_screensaver = cfdata->screensaver_lock;
e_config->desklock_post_screensaver_time = cfdata->post_screensaver_time;
e_config->desklock_autolock_idle_timeout = cfdata->idle_time * 60;
+ e_config->desklock_on_suspend = cfdata->on_suspend;
+ e_config->desklock_on_hibernate = cfdata->on_hibernate;
e_config_save_queue();
return 1;
}
@@ -255,7 +269,9 @@
(e_config->desklock_autolock_idle != cfdata->auto_lock) ||
(e_config->desklock_autolock_screensaver != cfdata->screensaver_lock) ||
(e_config->desklock_post_screensaver_time != cfdata->post_screensaver_time) ||
- (e_config->desklock_autolock_idle_timeout != cfdata->idle_time * 60));
+ (e_config->desklock_autolock_idle_timeout != cfdata->idle_time * 60) ||
+ (e_config->desklock_on_suspend != cfdata->on_suspend) ||
+ (e_config->desklock_on_hibernate != cfdata->on_hibernate));
}
static const char *
@@ -478,6 +494,8 @@
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;
+ e_config->desklock_on_suspend = cfdata->on_suspend;
+ e_config->desklock_on_hibernate = cfdata->on_hibernate;
if (cfdata->bg)
{
Index: config/standard/e.src
===================================================================
--- config/standard/e.src (revision 43803)
+++ config/standard/e.src (working copy)
@@ -1968,6 +1968,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
Index: config/netbook/e.src
===================================================================
--- config/netbook/e.src (revision 43803)
+++ config/netbook/e.src (working copy)
@@ -1927,6 +1927,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
Index: config/default/e.src
===================================================================
--- config/default/e.src (revision 43803)
+++ config/default/e.src (working copy)
@@ -449,6 +449,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
Index: config/minimalist/e.src
===================================================================
--- config/minimalist/e.src (revision 43803)
+++ config/minimalist/e.src (working copy)
@@ -1863,6 +1863,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
Index: config/illume/e.src
===================================================================
--- config/illume/e.src (revision 43803)
+++ config/illume/e.src (working copy)
@@ -659,6 +659,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
Index: config/scaleable/e.src
===================================================================
--- config/scaleable/e.src (revision 43803)
+++ config/scaleable/e.src (working copy)
@@ -1950,6 +1950,8 @@
value "desklock_post_screensaver_time" double: 0.0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
+ value "desklock_on_sleep" int: 0;
+ value "desklock_on_hibernate" int: 0;
value "desklock_use_custom_desklock" int: 0;
value "desklock_ask_presentation" uchar: 1;
value "desklock_ask_presentation_timeout" double: 30;
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel