{"id":50813749,"url":"https://github.com/walkersutton/redeye","last_synced_at":"2026-06-13T07:06:53.692Z","repository":{"id":361747999,"uuid":"588461252","full_name":"walkersutton/redeye","owner":"walkersutton","description":"tints your screen red as your battery runs low","archived":false,"fork":false,"pushed_at":"2026-06-01T04:08:04.000Z","size":292,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-01T05:23:51.136Z","etag":null,"topics":["battery","macos","menu-bar","sparkle","swift","swiftui"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/walkersutton.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-01-13T07:10:34.000Z","updated_at":"2026-06-01T04:08:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/walkersutton/redeye","commit_stats":null,"previous_names":["walkersutton/redeye"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/walkersutton/redeye","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkersutton%2Fredeye","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkersutton%2Fredeye/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkersutton%2Fredeye/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkersutton%2Fredeye/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walkersutton","download_url":"https://codeload.github.com/walkersutton/redeye/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walkersutton%2Fredeye/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34275099,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["battery","macos","menu-bar","sparkle","swift","swiftui"],"created_at":"2026-06-13T07:06:52.927Z","updated_at":"2026-06-13T07:06:53.678Z","avatar_url":"https://github.com/walkersutton.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"redeye/Assets.xcassets/AppIcon.appiconset/icon_512x512.png\" width=\"128\" alt=\"redeye\"\u003e\n    \u003ch1\u003eredeye\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eA macOS menu bar app that tints your display red as your battery runs low — so you never get surprised by a dead laptop.\u003c/strong\u003e\u003cbr\u003e\n    \u003c!-- Inspired by a Hammerspoon script of the same name. --\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n![redeye demo](demo/out/redeye-demo.gif)\n\n## How it works\n\nWhen your battery drops below ~10%, redeye fades a red overlay across all connected displays. The overlay intensifies as the battery drains further. Plugging in clears it immediately.\n\n## Features\n\n- Red overlay that intensifies with battery drain\n- Multi-display support\n- Launch at login\n- Auto-updates via Sparkle\n- Optional menu bar icon\n\n## Install\n\nDownload the latest `redeye.dmg` from the [Releases](../../releases) page and drag app to your Applications folder.\n\n\u003e **Note:** Release builds are ad-hoc signed (not notarized). On first launch, go to **System Setting** -\u003e **Privacy \u0026 Security** -\u003e **Open Anyway**\n\u003e \n\u003e \u003cimg width=\"277\" height=\"288\" alt=\"Screenshot 2026-05-31 at 22 56 47\" src=\"https://github.com/user-attachments/assets/92975fb2-866e-46a9-9376-9c8cfcea6ce9\" /\u003e\n\u003e \u003cimg width=\"731\" height=\"197\" alt=\"Screenshot 2026-05-31 at 22 58 11\" src=\"https://github.com/user-attachments/assets/fe94b76c-8364-4b22-8292-b3b9abef0fa7\" /\u003e\n\n## Development\n\n```sh\nmake setup   # install swiftlint + swiftformat, activate git hooks\nmake preview # kill any running redeye, build Release, open the app\n```\n\n`make setup` only needs to be run once per clone. It installs the required tools via Homebrew and points git at the `.githooks/` directory, which runs SwiftFormat + SwiftLint on commit and a Debug build on push.\n\n\u003c!--\n## Publishing\n\n```sh\nmake publish-patch\nmake publish-minor\nmake publish-major\n```\n\nBumps the version, builds, commits, creates a `vMAJOR.MINOR.PATCH` tag, and pushes. The tag triggers a GitHub Actions workflow that produces `redeye.zip`, `redeye.dmg`, and `appcast.xml`.\n\nUse `scripts/release.sh 1.2.3` for a specific version, or `scripts/release.sh patch --dry-run` to preview.\nThe release workflow requires one GitHub repository secret:\n\n| Secret | Description |\n|---|---|\n| `SPARKLE_PRIVATE_KEY` | Ed25519 private key generated by `build/SourcePackages/artifacts/sparkle/Sparkle/bin/generate_keys` |\n\nThe matching public key is embedded in `redeye/Info.plist` as `SUPublicEDKey`.\n\n## Release Stats\n\n```sh\nmake release-stats\nscripts/release-stats.sh --grouped\n```\n\nThe stats helper includes the release tag for every asset so repeated names like `redeye.dmg`, `redeye.zip`, and `appcast.xml` are easy to compare across versions.\n\n--\u003e\n\n## Requirements\n\n- macOS 13 Ventura or later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalkersutton%2Fredeye","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalkersutton%2Fredeye","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalkersutton%2Fredeye/lists"}