id = "hocus-focus" name = "Hocus Focus" homepage = "https://hocusfoc.us" description = "A Mac menu bar utility that hides your inactive windows." # The Hocus Focus application icon, from the app's own site. icon = "https://hocusfoc.us/static/favicons/favicon-192x192.png" platforms = ["macos"] # Hocus Focus ships no command-line tool, so `detect` carries its bundle # identifier. Read out of the vendor's own build: the download linked from # hocusfoc.us, https://hocusfoc.us/static/releases/hocus-focus-latest.zip, # unpacks to Hocus Focus.app whose Contents/Info.plist gives CFBundleIdentifier # "com.uglyapps.HocusFocus" and LSUIElement true — a menu-bar-only app with no # binary a user would ever type. executables = [] [installation] macos_bundle_ids = ["com.uglyapps.HocusFocus"] [dotfiles] # The same bundle carries no App Sandbox entitlement (`codesign -d # --entitlements -` prints none) and hocusfoc.us says it was deliberately # released outside the Mac App Store, so it is an ordinary non-sandboxed app: its # NSUserDefaults domain is the property list named after the bundle identifier in # ~/Library/Preferences, which is [preferences]. That is where the settings its # preferences window writes end up; the executable's Objective-C metadata names # UAGeneralPreferencesViewController and UADonatePreferencesViewController inside # an RHPreferencesWindowController, so the preference window is the only place # state is entered. paths = ["[preferences]/com.uglyapps.HocusFocus.plist"] exclude = [] secret = [] # No machine_lines: the hide behaviour and the per-app exceptions are the whole # reason to carry this file, and a macOS property list has no matcher in this # schema anyway — `format` covers toml, yaml and json only.