Sorry, my machine lost *.patch mime type from /etc/mime.types
On Thu, Nov 13, 2008 at 10:07 AM, Iván Briano (Sachiel)
<[EMAIL PROTECTED]> wrote:
> On Thu, Nov 13, 2008 at 8:41 AM, Gustavo Sverzut Barbieri
> <[EMAIL PROTECTED]> wrote:
>> On Wed, Nov 12, 2008 at 6:41 AM, The Rasterman Carsten Haitzler
>> <[EMAIL PROTECTED]> wrote:
>>> On Tue, 11 Nov 2008 17:28:42 -0200 "Gustavo Sverzut Barbieri"
>>> <[EMAIL PROTECTED]> babbled:
>>>
>>>> On Tue, Nov 11, 2008 at 7:05 AM, The Rasterman Carsten Haitzler
>>>> <[EMAIL PROTECTED]> wrote:
>>>> > On Sat, 8 Nov 2008 06:19:46 -0200 "Gustavo Sverzut Barbieri"
>>>> > <[EMAIL PROTECTED]> babbled:
>>>> >
>>>> > (sorry - travelling...)
>>>> >
>>>> > um - i think it's a great idea. makes sense for auto-logins like with gsm
>>>> > (or if enrance gets one) or even more so for embedded devices - like
>>>> > phone/pda's etc. where the thing boots straight into x and e.. and you
>>>> > want
>>>> > to lock it with a pin # (desklock needs a way of adding some way to
>>>> > enter a
>>>> > password/pin number other than via a keyboard - a pin #, a virtual
>>>> > keyboard, or maybe some special shape you draw... main point is to make
>>>> > it
>>>> > flexible).
>>>>
>>>> Yes, for that I guess it's easier to abstract desklock or use an
>>>> external desklock app (already supported, but I never tried). The
>>>> former is better as it's faster and lower on resources. A virtual
>>>> number keyboard would do for most devices.
>>>>
>>>>
>>>> > as such user-switching i think is best left to whatever launches e. leave
>>>> > that out of e. nb - i would say that this is best done as a config option
>>>> > in e_config
>>>> >
>>>> > "lock_on_start" and that should do quite nicely :) add to the desklock
>>>> > config
>>>>
>>>> yes, it's easy doable, but I guess fixing the show wallpaper is a
>>>> worse problem ATM.
>>>
>>> yeah. the problem is - the desktop container is created and shown and filled
>>> with a bg pixmap - before the pin window can do anything, so it's a matter
>>> of
>>> either deferring the draw of the desktop until later, or creating, or
>>> having an
>>> "early show" hook. that forces something to be shown before anything else.
>>
>> let's draw desklock earlier, the faster the response the better!
>>
>> attached is a new patch with config dialog.
>>
> Nope, nothing is attached.
>
>> --
>> Gustavo Sverzut Barbieri
>> http://profusion.mobi embedded systems
>> --------------------------------------
>> MSN: [EMAIL PROTECTED]
>> Skype: gsbarbieri
>> Mobile: +55 (19) 9225-2202
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
>>
>
--
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202
Index: src/bin/e_config.c
===================================================================
--- src/bin/e_config.c (revision 37472)
+++ src/bin/e_config.c (working copy)
@@ -538,6 +538,7 @@
E_CONFIG_VAL(D, T, desklock_background, STR);
E_CONFIG_VAL(D, T, desklock_auth_method, INT);
E_CONFIG_VAL(D, T, desklock_login_box_zone, INT);
+ E_CONFIG_VAL(D, T, desklock_start_locked, INT);
E_CONFIG_VAL(D, T, desklock_autolock_screensaver, INT);
E_CONFIG_VAL(D, T, desklock_autolock_idle, INT);
E_CONFIG_VAL(D, T, desklock_autolock_idle_timeout, DOUBLE);
@@ -838,6 +839,7 @@
e_config->desklock_background = NULL;
e_config->desklock_auth_method = 0;
e_config->desklock_login_box_zone = -1;
+ e_config->desklock_start_locked = 0;
e_config->desklock_autolock_screensaver = 0;
e_config->desklock_autolock_idle = 0;
e_config->desklock_autolock_idle_timeout = 300.0;
@@ -1201,6 +1203,10 @@
IFCFG(0x0129);
e_config->default_system_menu = NULL;
IFCFGEND;
+
+ IFCFG(0x012a);
+ e_config->desklock_start_locked = 0;
+ IFCFGEND;
e_config->config_version = E_CONFIG_FILE_VERSION;
Index: src/bin/e_config.h
===================================================================
--- src/bin/e_config.h (revision 37472)
+++ src/bin/e_config.h (working copy)
@@ -33,7 +33,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 0x0129
+#define E_CONFIG_FILE_GENERATION 0x012a
#define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION)
#define E_EVAS_ENGINE_DEFAULT 0
@@ -214,6 +214,7 @@
const char *desklock_background; // GUI
int desklock_auth_method; // GUI
int desklock_login_box_zone; // GUI
+ int desklock_start_locked; // GUI
int desklock_autolock_screensaver; // GUI
int desklock_autolock_idle; // GUI
double desklock_autolock_idle_timeout; // GUI
Index: src/bin/e_main.c
===================================================================
--- src/bin/e_main.c (revision 37472)
+++ src/bin/e_main.c (working copy)
@@ -86,6 +86,7 @@
static int (*_e_main_shutdown_func[MAX_LEVEL]) (void);
static int _e_main_level = 0;
static int _e_cacheburst = 0;
+static Evas_Bool locked = 0;
static Eina_List *_e_main_idler_before_list = NULL;
@@ -321,10 +322,17 @@
"\t\tBe evil.\n"
"\t-psychotic\n"
"\t\tBe psychotic.\n"
+ "\t-locked\n"
+ "\t\tstart with desklock on, so password will be asked.\n"
)
);
exit(0);
}
+ else if (!strcmp(argv[i], "-locked"))
+ {
+ locked = 1;
+ puts("enlightenment will start with desklock on.");
+ }
}
/* fix up DISPLAY to be :N.0 if no .screen is in it */
@@ -562,6 +570,8 @@
}
_e_main_shutdown_push(e_config_shutdown);
+ locked |= e_config->desklock_start_locked;
+
/* set all execced stuff to pri 1 - nice. make this config later? */
ecore_exe_run_priority_set(1);
@@ -619,6 +629,16 @@
_e_main_shutdown(-1);
}
_e_main_shutdown_push(e_theme_shutdown);
+
+ e_init_status_set(_("Starting International Support"));
+ TS("intl post");
+ /* init intl system */
+ if (!e_intl_post_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its intl system."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_intl_post_shutdown);
TS("splash");
if (!((!e_config->show_splash) || (after_restart)))
@@ -683,21 +703,44 @@
ecore_evas_free(ee);
}
+ e_init_status_set(_("Setup Screens"));
+ TS("screens");
+ /* manage the root window */
+ if (!_e_main_screens_init())
+ {
+ e_error_message_show(_("Enlightenment set up window management for all the screens on your system\n"
+ "failed. Perhaps another window manager is running?\n"));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(_e_main_screens_shutdown);
+
+ e_init_status_set(_("Setup Screensaver"));
+ TS("screensaver");
+ /* setup screensaver */
+ if (!e_screensaver_init())
+ {
+ e_error_message_show(_("Enlightenment cannot configure the X screensaver."));
+ _e_main_shutdown(-1);
+ }
+
+ e_init_status_set(_("Setup Desklock"));
+ TS("desklock");
+ /* setup desklock */
+ if (!e_desklock_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its desk locking system."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_desklock_shutdown);
+
+ if (locked && ((!e_config->show_splash) && (!after_restart)))
+ e_desklock_show();
+
TS("msgbus");
/* setup e msgbus (DBUS) service */
if (e_msgbus_init())
_e_main_shutdown_push(e_msgbus_shutdown);
- e_init_status_set(_("Starting International Support"));
- TS("intl post");
- /* init intl system */
- if (!e_intl_post_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its intl system."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_intl_post_shutdown);
-
e_init_status_set(_("Setting up Paths"));
TS("efreet paths");
{
@@ -715,16 +758,6 @@
efreet_icon_extension_add(".edj");
TS("efreet paths done");
- e_init_status_set(_("Setup Thumbnailer"));
- TS("thumb init");
- /* init the enlightenment thumbnailing system */
- if (!e_thumb_init())
- {
- e_error_message_show(_("Enlightenment cannot initialize the Thumbnailing system.\n"));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_thumb_shutdown);
-
e_init_status_set(_("Setup System Controls"));
TS("sys init");
/* init the enlightenment sys command system */
@@ -743,45 +776,7 @@
e_error_message_show(_("Enlightenment cannot set up its actions system."));
_e_main_shutdown(-1);
}
- _e_main_shutdown_push(e_actions_shutdown);
- e_init_status_set(_("Setup Bindings"));
- TS("bindings");
- /* init bindings system */
- if (!e_bindings_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its bindings system."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_bindings_shutdown);
- e_init_status_set(_("Setup Popups"));
- TS("popup");
- /* init popup system */
- if (!e_popup_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its popup system."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_popup_shutdown);
-
- e_init_status_set(_("Setup Wallpaper"));
- TS("bg");
- /* init desktop background system */
- if (!e_bg_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its desktop background system."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_bg_init);
- e_init_status_set(_("Setup Screens"));
- TS("screens");
- /* manage the root window */
- if (!_e_main_screens_init())
- {
- e_error_message_show(_("Enlightenment set up window management for all the screens on your system\n"
- "failed. Perhaps another window manager is running?\n"));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(_e_main_screens_shutdown);
+
e_init_status_set(_("Setup Execution System"));
TS("exec");
/* init app system */
@@ -840,7 +835,7 @@
_e_main_shutdown(-1);
}
_e_main_shutdown_push(e_dnd_shutdown);
- e_init_status_set(_("Setup Grab Input HAnding"));
+ e_init_status_set(_("Setup Grab Input Handing"));
TS("grabinput");
/* setup input grabbing co-operation system */
if (!e_grabinput_init())
@@ -876,15 +871,6 @@
_e_main_shutdown(-1);
}
_e_main_shutdown_push(e_gadcon_shutdown);
- e_init_status_set(_("Setup Shelves"));
- TS("shelves");
- /* setup shelves */
- if (!e_shelf_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its shelf system."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_shelf_shutdown);
e_init_status_set(_("Setup DPMS"));
TS("dpms");
@@ -894,16 +880,26 @@
e_error_message_show(_("Enlightenment cannot configure the DPMS settings."));
_e_main_shutdown(-1);
}
-
- e_init_status_set(_("Setup Screensaver"));
- TS("screensaver");
- /* setup screensaver */
- if (!e_screensaver_init())
+
+ e_init_status_set(_("Set Up Powersave modes"));
+ TS("powersave");
+ if (!e_powersave_init())
{
- e_error_message_show(_("Enlightenment cannot configure the X screensaver."));
+ e_error_message_show(_("Enlightenment cannot set up its powersave modes."));
_e_main_shutdown(-1);
}
-
+ _e_main_shutdown_push(e_powersave_shutdown);
+
+ e_init_status_set(_("Setup Wallpaper"));
+ TS("bg");
+ /* init desktop background system */
+ if (!e_bg_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its desktop background system."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_bg_shutdown);
+
e_init_status_set(_("Setup Mouse"));
TS("mouse");
/* setup mouse accel */
@@ -913,16 +909,46 @@
_e_main_shutdown(-1);
}
- e_init_status_set(_("Setup Desklock"));
- TS("desklock");
- /* setup desklock */
- if (!e_desklock_init())
+ _e_main_shutdown_push(e_actions_shutdown);
+ e_init_status_set(_("Setup Bindings"));
+ TS("bindings");
+ /* init bindings system */
+ if (!e_bindings_init())
{
- e_error_message_show(_("Enlightenment cannot set up its desk locking system."));
- _e_main_shutdown(-1);
+ e_error_message_show(_("Enlightenment cannot set up its bindings system."));
+ _e_main_shutdown(-1);
}
- _e_main_shutdown_push(e_desklock_shutdown);
+ _e_main_shutdown_push(e_bindings_shutdown);
+ e_init_status_set(_("Setup Popups"));
+ TS("popup");
+ /* init popup system */
+ if (!e_popup_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its popup system."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_popup_shutdown);
+ e_init_status_set(_("Setup Shelves"));
+ TS("shelves");
+ /* setup shelves */
+ if (!e_shelf_init())
+ {
+ e_error_message_show(_("Enlightenment cannot set up its shelf system."));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_shelf_shutdown);
+
+ e_init_status_set(_("Setup Thumbnailer"));
+ TS("thumb init");
+ /* init the enlightenment thumbnailing system */
+ if (!e_thumb_init())
+ {
+ e_error_message_show(_("Enlightenment cannot initialize the Thumbnailing system.\n"));
+ _e_main_shutdown(-1);
+ }
+ _e_main_shutdown_push(e_thumb_shutdown);
+
e_init_status_set(_("Set Up File Ordering"));
TS("order");
if (!e_order_init())
@@ -932,15 +958,6 @@
}
_e_main_shutdown_push(e_order_shutdown);
- e_init_status_set(_("Set Up Powersave modes"));
- TS("powersave");
- if (!e_powersave_init())
- {
- e_error_message_show(_("Enlightenment cannot set up its powersave modes."));
- _e_main_shutdown(-1);
- }
- _e_main_shutdown_push(e_powersave_shutdown);
-
TS("add idle enterers");
/* add in a handler that just before we go idle we flush x - will happen after ecore_evas's idle rendering as it's after ecore_evas_init() */
_e_main_idle_enterer_flusher = ecore_idle_enterer_add(_e_main_cb_x_flusher, NULL);
@@ -959,6 +976,9 @@
if (!((!e_config->show_splash) || (after_restart)))
{
ecore_timer_add(16.0, _e_main_cb_startup_fake_end, NULL);
+
+ if (locked)
+ e_desklock_show();
}
e_container_all_thaw();
Index: src/modules/conf_desklock/e_int_config_desklock.c
===================================================================
--- src/modules/conf_desklock/e_int_config_desklock.c (revision 37472)
+++ src/modules/conf_desklock/e_int_config_desklock.c (working copy)
@@ -34,8 +34,9 @@
int use_xscreensaver;
int fmdir;
int zone_count;
-
+
/* Basic props */
+ int start_locked;
int auto_lock;
int screensaver_lock;
double idle_time;
@@ -101,6 +102,7 @@
if (e_config->desklock_custom_desklock_cmd)
cfdata->custom_lock_cmd = strdup(e_config->desklock_custom_desklock_cmd);
+ cfdata->start_locked = e_config->desklock_start_locked;
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;
@@ -142,6 +144,10 @@
o = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Automatic Locking"), 0);
e_widget_disabled_set(of, !cfdata->use_xscreensaver);
+ ow = e_widget_check_add(evas, _("Lock when Enlightenment starts"),
+ &cfdata->start_locked);
+ e_widget_disabled_set(ow, !cfdata->use_xscreensaver);
+ e_widget_framelist_object_append(of, ow);
ow = e_widget_check_add(evas, _("Lock when X screensaver activates"),
&cfdata->screensaver_lock);
e_widget_disabled_set(ow, !cfdata->use_xscreensaver);
@@ -163,6 +169,7 @@
static int
_basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
+ e_config->desklock_start_locked = cfdata->start_locked;
e_config->desklock_autolock_idle = cfdata->auto_lock;
e_config->desklock_autolock_screensaver = cfdata->screensaver_lock;
e_config->desklock_autolock_idle_timeout = cfdata->idle_time * 60;
@@ -333,6 +340,7 @@
static int
_adv_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
{
+ e_config->desklock_start_locked = cfdata->start_locked;
e_config->desklock_autolock_idle = cfdata->auto_lock;
e_config->desklock_autolock_screensaver = cfdata->screensaver_lock;
e_config->desklock_autolock_idle_timeout = cfdata->idle_time * 60;
Index: config/standard/e.src
===================================================================
--- config/standard/e.src (revision 37472)
+++ config/standard/e.src (working copy)
@@ -1897,6 +1897,7 @@
value "font_hinting" int: 0;
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
Index: config/netbook/e.src
===================================================================
--- config/netbook/e.src (revision 37472)
+++ config/netbook/e.src (working copy)
@@ -1874,6 +1874,7 @@
value "font_hinting" int: 0;
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
Index: config/default/e.src
===================================================================
--- config/default/e.src (revision 37472)
+++ config/default/e.src (working copy)
@@ -445,6 +445,7 @@
value "desklock_background" string: "theme_desklock_background";
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
Index: config/minimalist/e.src
===================================================================
--- config/minimalist/e.src (revision 37472)
+++ config/minimalist/e.src (working copy)
@@ -1810,6 +1810,7 @@
value "font_hinting" int: 0;
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
Index: config/illume/e.src
===================================================================
--- config/illume/e.src (revision 37472)
+++ config/illume/e.src (working copy)
@@ -664,6 +664,7 @@
value "font_hinting" int: 0;
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
Index: config/scaleable/e.src
===================================================================
--- config/scaleable/e.src (revision 37472)
+++ config/scaleable/e.src (working copy)
@@ -1897,6 +1897,7 @@
value "font_hinting" int: 0;
value "desklock_auth_method" int: 0;
value "desklock_login_box_zone" int: -1;
+ value "desklock_start_locked" int: 0;
value "desklock_autolock_screensaver" int: 0;
value "desklock_autolock_idle" int: 0;
value "desklock_autolock_idle_timeout" double: 300.0000000000000000000000000;
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel