1afee265a6cb
rewrite README with plain usage guidance; verification blocked by toolchain
- time
- 2026-10-06 14:22 UTC · 1 week ago
- machine
- Junes-MacBook-Pro.local
- agent
- gpt-6
- session
- rewrite haven readme
- parent
- b4de15a31c7a
↓ haven-1afee265.tar.gzatlas at this save
files changed1 file
README.md+41 −52README.md+41 −52
@@ -1,80 +1,70 @@11 # Haven22 3-A lightweight macOS menu bar app for finding, setting, and managing desktop4-wallpapers. Browse [Wallhaven](https://wallhaven.cc) without leaving the menu5-bar, set any image as your wallpaper with a click, and keep a local library of6-the ones you download.3+Haven is a macOS menu bar app for browsing [Wallhaven](https://wallhaven.cc)4+and setting your desktop wallpaper. You can also browse images in local5+folders, save favorites, and return to wallpapers you've used before.76 8-## Features7+## Using Haven98 10-- **Explore** — search Wallhaven with live filtering by category11- (General / Anime / People), purity (SFW / Sketchy), resolution, and aspect12- ratio. Infinite scroll loads more as you go.13-- **Outage aware** — when Wallhaven's own servers are down, the Explore tab14- explains that where the grid would be, links to Wallhaven's status page, and15- offers a retry, so an upstream outage never reads as Haven failing.16-- **Set instantly** — click a wallpaper to set it on your active display.17-- **Local library** — wallpapers you download are saved to a folder of your18- choice and browsable offline. Unreadable or broken image files are skipped19- automatically so they never clutter the view.20-- **Favorites & History** — keep the ones you love and revisit anything you've21- set recently.22-- **Launch at login** — optionally start Haven automatically.9+Click Haven's menu bar icon to open it. The app has no Dock icon.2310 24-## Requirements11+| Tab | What you can do |12+| --- | --- |13+| Explore | Search Wallhaven or browse Latest, Toplist, and Random. Open the slider controls to filter by category, purity, resolution, or aspect ratio. More results load as you scroll. |14+| Local | Browse images from your source folders, including when you're offline. Haven skips files it can't read as images. |15+| Favorites | Revisit wallpapers you've marked with a heart. |16+| History | Find wallpapers you've recently set. |17+| Settings | Choose storage and source folders, turn local saving on or off, and enable launch at login. |2518 26-- macOS 13 (Ventura) or later27-- Swift 6.1+ toolchain (Xcode or the Swift command-line tools)19+Click a wallpaper to set it on your active display. Haven uses Wallhaven's20+public search API, so you don't need an API key. Browsing is limited to SFW21+and Sketchy content, with General, Anime, and People category filters.2822 29-No Wallhaven API key is required — Haven uses the public search API and browses30-SFW and Sketchy content only.23+When local saving is enabled, downloaded wallpapers go to `~/Pictures/Haven`24+by default. Choose another folder in Settings → Storage → Location. Use25+Source folders in Settings to add other folders to the Local tab.3126 32-## Build & Run27+If Wallhaven is unavailable, Explore explains the outage and gives you a28+link to its status page and a retry button.3329 34-Build a signed `.app` bundle and launch it:30+## Building and running3531 32+You'll need macOS 13 (Ventura) or later and a Swift 6.1+ toolchain, provided33+by Xcode or the Swift command-line tools.34+35+Build an ad-hoc signed `.app` bundle and launch it:36+3637 ```sh3738 ./bundle_app.sh3839 open Haven.app3940 ```4041 41-Or run directly during development:42+To run during development:4243 4344 ```sh4445 swift build4546 swift run4647 ```4748 48-Run the full test suite and the checked-in 100% physical source-line coverage gate:49+## Tests and coverage4950 51+Run the test suite and the checked-in coverage check:52+5053 ```sh5154 bash coverage.sh5255 ```5356 54-The coverage command combines `swift test --enable-code-coverage` with a55-smoke run of the executable so the real entry point is measured. Its physical56-source-line gate excludes blank, comment-only, and structural brace lines;57-the LLVM aggregate report printed above it also includes compiler-generated58-SwiftUI mappings and can therefore be lower.57+The script runs `swift test --enable-code-coverage` and a smoke run of the58+executable to measure the entry point. It requires 100% coverage of physical59+source lines, excluding blank lines, comment-only lines, and structural60+brace lines. The LLVM aggregate report also counts compiler-generated61+SwiftUI mappings, so its percentage can be lower.5962 60-Haven lives in the menu bar (it has no Dock icon). Click the menu bar icon to61-open the popover.63+The last recorded coverage run left 27 UI lines uncovered. The coverage64+check requires those lines to be covered even when the tests pass.6265 63-## Usage66+## Source layout6467 65-| Tab | What it does |66-| --- | --- |67-| **Explore** | Search and browse Wallhaven. Use the slider icon to filter. |68-| **Local** | Browse wallpapers saved to your local folder. |69-| **Favorites** | Wallpapers you've hearted. |70-| **History** | Recently set wallpapers. |71-| **Settings** | Launch at login, local-save toggle, and save-folder location. |72-73-By default, downloaded wallpapers are saved to `~/Pictures/Haven`. Change this74-in **Settings → Storage → Location**.75-76-## Project Layout77-7868 ```7969 Sources/Haven/8070 API/ Wallhaven client and response models@@ -85,10 +75,9 @@8575 8676 ## License8777 88-Haven is free software: you can redistribute it and/or modify it under the89-terms of the **GNU General Public License as published by the Free Software90-Foundation, either version 3 of the License, or (at your option) any later91-version**. See [`LICENSE`](LICENSE) for the full text.78+Haven is licensed under the GNU General Public License, version 3 or any79+later version. You may redistribute and modify it under those terms.80+See [`LICENSE`](LICENSE) for the full text.9281 9382 ```9483 Haven — a macOS menu bar app for browsing, setting, and managing wallpapers.