Dotfiles-Manager

Memoria de Proyecto

← AnteriorSiguiente →

7.3. Vista: Dashboard

El Dashboard es la pantalla de aterrizaje principal de la aplicación. Se muestra al iniciar la herramienta y su objetivo es proporcionar una telemetría rápida del estado actual del sistema sin necesidad de ejecutar ningún escaneo adicional: los datos se leen directamente desde la base de datos local (system_state_hashes), mostrando el resultado del último análisis registrado.

Bloques de Telemetría

La vista se organiza en tres bloques de métricas principales, uno por cada categoría de seguimiento del inventario:

Todos los Dotfiles
  • Contador: Número total de archivos de configuración detectados en el $HOME.
  • Hash estructural: Los primeros 6 caracteres del hash MD5 actual (el hash completo se muestra en tooltip al pasar el cursor).
  • Fecha del último análisis: Timestamp exacto de la última vez que se calculó el hash (last_checked_at).
  • LED de cambios: Indicador visual que se activa cuando el hash calculado en tiempo real difiere del almacenado, alertando de que hay novedades pendientes de procesar.
Aplicaciones Clasificadas
  • Conteo de dotfiles que han sido identificados y vinculados a una aplicación conocida en known_apps_reference.
  • Hash y timestamp del último cálculo del subconjunto de conocidos.
  • LED de cambios para el subconjunto KNOWNS.
Archivos Desconocidos
  • Conteo de rutas que el motor heurístico no ha logrado identificar automáticamente.
  • Hash y timestamp del subconjunto UNKNOWNS.
  • LED de cambios para el subconjunto UNKNOWNS.

Información del Sistema

En la parte inferior del Dashboard se muestra información estática del entorno de ejecución: nombre del equipo (hostname), distribución Linux detectada (os_machine), identificador único de la máquina (machine_id) y la versión actual de dotmng.

Acciones desde el Dashboard

El Dashboard expone cuatro botones de acción que lanzan los pipelines de comprobación sin necesidad de navegar a otra vista:

Cada botón lanza un Worker(QThread) independiente para no bloquear la UI durante el procesamiento (ver sección 4.4.1).