Hi all,

Since I'm used to my laptop locking when I suspend it I wasn't particularly delighted to see the new enlightenment_remote. Until e catches ACPI events and manages to lock automatically I decided to take a shortcut and expose the lock function via dbus. I don't know if directly calling it is the right way, or if I should instead queue an event... but I couldn't find any code that would show such an event.

Regards,
Christian
diff -ur /usr/portage/distfiles/svn-src/enlightenment/e/src/bin/e_msgbus.c 
e/src/bin/e_msgbus.c
--- /usr/portage/distfiles/svn-src/enlightenment/e/src/bin/e_msgbus.c   
2010-01-24 17:16:49.000000000 +0100
+++ e/src/bin/e_msgbus.c        2010-01-27 21:16:25.279298329 +0100
@@ -5,6 +5,7 @@
 
 static DBusMessage* _e_msgbus_core_restart_cb(E_DBus_Object *obj, DBusMessage 
*msg);
 static DBusMessage* _e_msgbus_core_shutdown_cb(E_DBus_Object *obj, DBusMessage 
*msg);
+static DBusMessage* _e_msgbus_core_lock_cb(E_DBus_Object *obj, DBusMessage 
*msg);
 
 static DBusMessage* _e_msgbus_module_load_cb(E_DBus_Object *obj, DBusMessage 
*msg);
 static DBusMessage* _e_msgbus_module_unload_cb(E_DBus_Object *obj, DBusMessage 
*msg);
@@ -52,7 +53,8 @@
    /* Hardcore methods */
    e_dbus_interface_method_add(iface, "Restart", "", "", 
_e_msgbus_core_restart_cb);
    e_dbus_interface_method_add(iface, "Shutdown", "", "", 
_e_msgbus_core_shutdown_cb);
-  
+   e_dbus_interface_method_add(iface, "Lock", "", "", _e_msgbus_core_lock_cb);
+
    iface = e_dbus_interface_new("org.enlightenment.wm.Module");
    if (!iface)
      {
@@ -140,6 +142,13 @@
    return dbus_message_new_method_return(msg);
 }
 
+static DBusMessage* 
+_e_msgbus_core_lock_cb(E_DBus_Object *obj, DBusMessage *msg)
+{
+   e_desklock_show();
+   return dbus_message_new_method_return(msg);
+}
+
 /* Modules Handlers */
 static DBusMessage* 
 _e_msgbus_module_load_cb(E_DBus_Object *obj, DBusMessage *msg)
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to