Primera gran funcionalidad en gdesklets
Actualizado el 2008-09-04 20:39:31.658075
Hace un tiempo atrás que había empezado a desarrollar desklets. También, en el framework había colaborado corrigiendo errores y los típicos trabajos de reportar/filtrar problemas; además de responder/escribir mensajes en la lista de correo. Nada no trivial hasta ahora. Sin embargo, se me ocurrió algo que resultó ser util.
Hasta ahora, no es posible detener un desklet que está en ejecución. Algo así como cerrar la ventana de Evolution pero sin perder los cambios que hayas hecho hasta este momento; por lo que quise empezar a meter mis dedos en esto; lo mejor es que la fecha de hoy ya ha sido incorporado en la rama de desarrollo. He dejado el parche disponible para su lectura pero en resumen esto es uno de los cambios más importantes:
[...]
try:
- ident = daemon.open_display(path)
+ if self.__displays:
+ for ident in self.__displays:
+ saved_path = _DSPLIST.lookup_display(ident)[1]
+ if saved_path == path:
+ daemon.open_display_with_id(path, ident)
+ found_display = True
+
+ if not self.__displays or found_display is False:
+ print "Entering to NEW one..."
+ ident = daemon.open_display(path)
+ _DSPLIST.add_display(prof, path, ident)
+ _DSPLIST.commit()
except Exception:
print _("Could not open desklet %s.") % path
continue
- prof = _DSPLIST.get_profile()
- _DSPLIST.add_display(prof, path, ident)
- _DSPLIST.commit()
-
elif (self.__command == "start"):
print _("Starting gdesklets-daemon...")
myprofile = _DSPLIST.get_profile()
[...]
Esta funcionalidad estará disponible en gdesklets 0.36.2
Comentarios.
(Agregar uno nuevo)