Feeds:
Entradas
Comentarios

Archive for the ‘Refinamiento’ Category

Se da por concluido el ciclo #5 del desarrollo en el cual se ha implementado la funcionalidad de monitorización del directorio actual para actual el panel en consecuencia.

Para detectar los cambios, se ha utilizado la extensión del kernel inotify que nos permite leer de un descriptor de fichero estructuras de datos con la información de los eventos que ocurren. De esta manera, hemos conseguido detectar todos los eventos que se deseaban y gestionarlos adecuadamente.

Para adaptar la arquitectura a la generación de vistas previas de archivos individuales ha sido necesario modificar el Preview Manager y añadir funcionalidades nuevas a la clase Normal Previewer. Ahora, es posible la generación de vistas previas sueltas en el directorio actual y actualizar el Preview Manager.

Como parte de las pruebas, se han detectado errores muy importantes, los cuales han sido solventados. Algunos estaban ya presentes en el ciclo anterior. Para una información más detallada se recomienda ver la forja del proyecto en su sección de bugs.

En próximos días se tomará la decisión de la siguiente funcionalidad a implementar, teniendo en cuenta las peticiones de los usuarios en la encuesta que se publicó hace unos días.

Anuncios

Read Full Post »

Después de trabajar mucho en ello, se ha llevado un gran cambio en la implementación que ha supuesto la eliminación del código fuente de bash por completo. Se ha optado por utilizar las facilidades que nos da el sistema Gnu/Linux para determinar el directorio actual de un proceso (consultando el directorio /proc/<pid>). Así, el proyecto reduce considerablemente su peso y aumenta enormemente su legibilidad y sencillez.

Debido a la importancia del cambio, el proyecto pasa a su versión 0.2.0. En próximas horas se procederá a la liberación de los paquetes .deb correspondientes, consultar la sección de Descargas. Se dará por finalizado el trabajo a llevar en el ciclo #4 de desarrollo cuando éstos se encuentren disponibles al completo.

Read Full Post »

A día de hoy se ha finalizado la implementación del ciclo #3 del desarrollo. Como ya se comentó, el test a pasar era la navegación por el árbol de directorios utilizando los comandos habituales del terminal a la vez que las vistas previas de los archivos de dichos directorios se mostraran en el panel lateral.

A fin de comprender un poco las decisiones tomadas en este ciclo, se muestra la siguiente lista de aspectos relevantes:

  • Se ha tomado y modificado el código fuente de la última versión de bash. En cada cambio de directorio, éste avisa a nuestra aplicación a través de una fifo.
  • La aplicación integra un bash-tp (así es como llamamos a la modificación de bash realizada). Así, tanto el panel como el terminal se encuentran en la misma ventana de escritorio.
  • La generación de vistas previas ha sido optimizada mediante la utilización de hilos individuales para cada archivo a previsualizar.
  • La implementación llevada a cabo ha utilizado Gtkmm como biblioteca gráfica.

Para comprender el resultado obtenido, qué mejor manera que ver las siguientes capturas de pantalla tomadas de la versión actual de la aplicación.

Ahora una captura de la versión básica de la aplicación:

Como podemos contemplar, en la primera imagen la aplicación ha sido lanzada sin ningún fichero por línea de órdenes, y actúa en el modo normal de navegación por directorios. Al contrario, en la segunda ejecución, se muestra el resultado obtenido de la ejecución de la aplicación al pasarle por línea de órdenes un archivo (en este caso un vídeo). Se ha de tener en cuenta que en este caso en particular se muestra una de las opciones de generación de vista previa para los vídeos, consistente en generar múltiples capturas y concatenarlas.

Tras poner a prueba los resultados obtenidos, se puede afirmar que la aplicación se encuentra en una etapa usable. Tras trabajar con ella durante varios días, se llega a la conclusión de que aumenta la productividad enormemente, permitiendo la navegación por el árbol de directorios del sistema sin utilizar apenas comandos como “ls” o los navegadores Nautilus o Konqueror.

Por último, y como aspecto más técnico, cabe comentar la optimización llevada a cabo en la etapa de refinamiento de este ciclo. En ella, se ha optimizado la colocación de las vistas previas en el panel analizando la forma en la que GTK+ refresca las ventanas. Para ello, se han encapsulado las acciones a realizar en “Comandos”, que son independiente de la biblioteca gráfica que se utilice. En este caso particular, GTK+ los procesará al final de cada una de sus iteraciones del bucle principal.

En definitiva, se da por finalizado el ciclo #3 del proyecto. En una entrada posterior de este blog se expondrá el trabajo a realizar en el siguiente ciclo. Os animo a echar un vistazo, descargar y probar el proyecto.

Read Full Post »

Tras varios días de trabajo, se ha terminado con el primer ciclo de desarrollo. Lo primero que se llevó a cabo fue la implementación del reconocedor de opciones introducidas por línea de comandos. Tras ello, se probó que todo funcionaba de acuerdo al test descrito en el post anterior. Por último, se refinó y estructuró el código escrito y se volvió a comprobar que funcionaba correctamente a pesar de las modificaciones.

Queda, por tanto, finalizado el ciclo #1 de la implementación con éxito.

Read Full Post »