Better Resource Monitor ahora muestra el uso del almacenamiento

El PR #101 añade la métrica que faltaba en la barra de menús: el almacenamiento.

La barra ya mostraba CPU, memoria, GPU y red. Para añadir el almacenamiento había una condición extra: calcular cuánto espacio está en uso sin recorrer el disco.

Eso es todo lo que hace. No escanea directorios, no lee nombres ni contenido de archivos, no enumera discos externos y tampoco recopila detalles por volumen. Le pide al sistema operativo la capacidad total y disponible del sistema de archivos de $HOME, y muestra el porcentaje usado en la barra de menús.

Cómo funciona

El sampler pide solo dos datos: la capacidad total y la disponible. En macOS usa CFURLCopyResourcePropertiesForKeys con las claves correspondientes. En Linux usa statvfs. Después calcula (total - available) / total * 100 y limita el resultado al rango 0..100.

Sin helper con permisos de root. Sin analíticas. Sin telemetría. Tampoco usa APIs privadas que compliquen las compilaciones para la App Store.

Detalle de la App Store

Apple exige un manifiesto de privacidad (privacy manifest) para algunas categorías de APIs. El espacio en disco es una de ellas, así que el PR incluye PrivacyInfo.xcprivacy y declara NSPrivacyAccessedAPICategoryDiskSpace con el motivo 85F4.1.

CI comprueba que la app empaquetada incluya tanto el manifiesto como el motivo de uso del espacio en disco antes de subirla.

Qué cambió en el PR

El almacenamiento tiene su propio icono de disco en el renderer de la barra y una opción localizada como “Show Storage” en los ajustes. A los usuarios que ya tienen preferencias guardadas no se les activa por defecto. Las instalaciones nuevas sí pueden mostrarlo por defecto.

Los tests cubren los puntos delicados: el cálculo del porcentaje, la migración de ajustes, el ancho de renderizado, las alertas, las traducciones y el orden de los iconos.

Cuando publiqué esta nota, el cambio apuntaba a la versión 1.1.5 e incluía checks de Rust y Cloudflare Pages.

PR #101 · Código fuente

Fecha de publicación:

Conectemos

Estoy en GitHub, Discord y X