id = "stats" name = "Stats" homepage = "https://github.com/exelban/stats" description = "macOS system monitor in your menu bar." # The app icon, from the asset catalogue in the project's repository. icon = "https://raw.githubusercontent.com/exelban/stats/master/Stats/Supporting%20Files/Assets.xcassets/AppIcon.appiconset/icon_256x256.png" # Stats ships no command-line tool, so `detect` carries the bundle identifier. # It is the one the Homebrew cask quits and the LaunchDaemon it installs is # named after (https://formulae.brew.sh/api/cask/stats.json: quit # "eu.exelban.Stats"), and the README's uninstall section removes the same # "eu.exelban.Stats defaults". executables = [] platforms = ["macos"] [installation] macos_bundle_ids = ["eu.exelban.Stats"] [dotfiles] # The description is the one-line summary at the top of the README. # # Stats is a direct download and a Homebrew cask rather than an App Store app, # so its settings land in the ordinary preferences domain. The cask's `zap # trash:` names ~/Library/Preferences/eu.exelban.Stats.plist, and the README's # uninstall section describes the same file as the app's "defaults". That is # where the enabled modules, their menu-bar widgets, update interval, colours # and per-sensor choices live. # # [preferences] is ~/Library/Preferences; the entry is macOS-only, so there is # no other platform for that root to stand for. paths = ["[preferences]/eu.exelban.Stats.plist"] # ~/Library/Application Support/Stats is not settings but the recorded metric # history. Kit/plugins/DB.swift builds it as # # let supportPath = fileManager.urls(for: .applicationSupportDirectory, # in: .userDomainMask).first! # .appendingPathComponent("Stats") # dbURL = supportPath.appendingPathComponent("lldb") # # — a local database of samples taken on this machine, which grows without # bound and means nothing on another one. [appData] is # ~/Library/Application Support. exclude = ["[appData]/Stats/"] # No whole-file credential. Stats reads sensors and signs into nothing; the # privileged SMC helper it installs lives under /Library, outside the user's # home. secret = [] # No machine_lines: which modules are on, where their widgets sit and how they # are coloured is the whole reason to carry the domain. A property list has no # matcher in this schema in any case — `format` covers toml, yaml and json only.