{"id":51405215,"url":"https://github.com/nuxencs/razertray","last_synced_at":"2026-07-04T10:30:57.520Z","repository":{"id":366796089,"uuid":"1172772049","full_name":"nuxencs/razertray","owner":"nuxencs","description":"A tiny Windows tray app that shows your wireless Razer mouse's battery level and warns you before it dies — no Razer Synapse required.","archived":false,"fork":false,"pushed_at":"2026-06-23T09:45:07.000Z","size":92,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-23T12:34:49.249Z","etag":null,"topics":["razer","rust","tray","windows"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuxencs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-03-04T17:11:39.000Z","updated_at":"2026-06-23T12:34:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nuxencs/razertray","commit_stats":null,"previous_names":["nuxencs/razertray"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/nuxencs/razertray","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxencs%2Frazertray","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxencs%2Frazertray/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxencs%2Frazertray/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxencs%2Frazertray/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuxencs","download_url":"https://codeload.github.com/nuxencs/razertray/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuxencs%2Frazertray/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35118970,"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-07-04T02:00:05.987Z","response_time":113,"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":["razer","rust","tray","windows"],"created_at":"2026-07-04T10:30:56.798Z","updated_at":"2026-07-04T10:30:57.515Z","avatar_url":"https://github.com/nuxencs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# razertray\n\nA tiny Windows tray app that shows your wireless Razer mouse's battery level\nand warns you before it dies — no Razer Synapse required.\n\n## What it does\n\nrazertray sits quietly next to your clock in the Windows system tray. It shows\na small battery icon for your wireless Razer mouse, checks the charge level\nabout once a minute, and pops up a notification when the battery gets low so you\ncan plug in before it runs out. If you have more than one Razer device, you can\npick which one the icon tracks.\n\n## Features\n\n- Live battery level for your wireless Razer mouse, right in the system tray\n- Color-coded battery icon: green when healthy, orange when getting low, red\n  when nearly empty, and blue while charging\n- Hover the icon for a tooltip with the device name, exact percentage, and\n  whether it's charging\n- Automatic low-battery alerts so you get a heads-up before the mouse dies\n- Pick which Razer device to watch when several are connected\n- \"Refresh now\" for an instant reading instead of waiting for the next check\n- Optionally starts with Windows so it's always running\n- Lightweight and quiet — just a tray icon, no heavy background software\n- Knows a wide range of Razer mice by name, and still shows a reading (under a\n  generic name) for newer ones it hasn't learned yet\n\n## Install \u0026 run\n\n1. Download `razertray.exe` from the [latest release](../../releases/latest) —\n   there's no installer.\n2. Run it. It starts in the system tray with no main window and keeps working\n   in the background.\n3. By default it sets itself to start automatically when you log in to Windows.\n   You can turn this off any time from the tray menu.\n\nQuick check from a terminal (works without opening the tray):\n\n```text\nrazertray.exe --once\n```\n\nThis prints the battery level of every detected Razer device once and exits —\nhandy for confirming your mouse is picked up.\n\n## In the tray\n\nRight-click the icon for the menu:\n\n- **Status line** — the watched device, its battery percentage, and `(charging)`\n  if it's plugged in (or \"No supported Razer devices\" if none are found)\n- **Select Device** — lists every Razer device found, each with its name,\n  battery percentage and charge state, with a checkmark on the one being tracked\n- **Refresh now** — check the battery immediately\n- **Start at login** — toggle starting automatically with Windows\n- **Exit** — close the app and remove the icon\n\nThe icon itself is a small battery that fills up and changes color:\n**blue** while charging, **red** at 15% or below, **orange** up to 35%, and\n**green** above that. A device with no reading yet shows a faded mark.\n\n## Low-battery alerts\n\nWhen the watched mouse drops to or below the low-battery level (15% by default)\nand isn't charging, Windows shows a notification — for example\n`Razer Viper Ultimate: 12%`, with \"Battery low / Plug in charger soon\". To avoid\nnagging, it only repeats an alert for the same device every couple of hours, and\nalerts stop once you plug in. Each device is tracked separately.\n\n## Supported devices\n\nrazertray looks at every Razer-branded device you have connected and shows the\nones that report a battery level — in practice that's **wireless mice**, which is\nwhat it's built and tested for. It ships with a built-in list of around 65 known\nRazer mice and wireless receivers (Mamba, Viper, DeathAdder, Naga, Basilisk,\nCobra, Pro Click, Orochi, Lancehead and more), shown by their proper product\nnames.\n\nThat list is generated from the community [OpenRazer](https://openrazer.github.io/)\nproject's device database and refreshed in new releases, so newer mice get added\nover time. A device that isn't on the list — a newer mouse, or another Razer\ndevice that reports its battery the same way (some wireless keyboards do) — still\ngets a reading where possible, shown under its system-reported name. Gear that\ndoesn't report a battery this way is simply ignored.\n\n## Settings\n\nSettings live in a plain text file at\n`%APPDATA%\\razertray\\config.toml`, created on first run. The device you pick and\nthe \"Start at login\" choice are saved here automatically.\n\n```toml\npoll_interval_seconds = 60        # how often to check the battery (minimum 5)\nlow_battery_threshold = 15        # warn at or below this percentage\nlow_battery_cooldown_minutes = 120  # minimum gap between repeat warnings\nselected_device_id = \"\"           # which device to watch (set from the menu)\nautostart = false                 # start with Windows (toggle from the tray menu)\nlog_level = \"info\"                # detail level for the log file\n```\n\nOther files in the same `%APPDATA%\\razertray\\` folder:\n\n- `pid_cache.toml` — remembers how to talk to devices it had to probe\n- `razertray.log` (plus `.1`, `.2`) — a rolling log for troubleshooting; rotates\n  at about 1 MiB and keeps three files\n\n## Limitations\n\n- **Windows only** for the tray app and notifications. (`--once` runs elsewhere\n  for a quick reading, but the tray mode does not.)\n- **Curated and tested for Razer wireless mice.** It polls every connected Razer\n  device for a battery level, so some other battery-reporting gear (e.g. certain\n  wireless keyboards) may also appear under its system-reported name — but only\n  mice are recognized by name and verified; non-battery devices are ignored.\n- The mouse (or its wireless dongle) must be connected and awake; a sleeping or\n  powered-off mouse may show no reading.\n- Battery and charging readings come straight from the device and can\n  occasionally be unavailable or off by a percent, especially for newer mice not\n  yet in the built-in list (some devices don't report charging status at all).\n- There's no settings window — advanced options are changed by editing\n  `config.toml`.\n\n---\n\n## For developers\n\nBuild on Windows (MSVC toolchain + Visual Studio Build Tools):\n\n```bash\ncargo build --release --target x86_64-pc-windows-msvc\n# -\u003e target/x86_64-pc-windows-msvc/release/razertray.exe\n```\n\nThe device support map (`src/device_map.rs`) is generated from a local OpenRazer\ncheckout:\n\n```bash\ntools/extract_openrazer_map.py ~/dev/openrazer src/device_map.rs\n```\n\nIt reads battery info over HID feature reports using the Razer protocol,\nmirroring OpenRazer's mouse driver (`razermouse_driver.c`): per-device\ntransaction IDs, the battery/charge commands, and which devices report charging\nstatus.\n\nCI keeps the device list in sync with OpenRazer and cuts releases automatically\n— see the workflows in [`.github/workflows/`](.github/workflows/).\n\n## License\n\nrazertray is licensed under the [GNU General Public License v2.0 or later](LICENSE)\n(`GPL-2.0-or-later`).\n\nThe device support map (`src/device_map.rs`) and the Razer HID protocol code are\nderived from [OpenRazer](https://github.com/openrazer/openrazer), which is itself\nlicensed under GPL-2.0-or-later. razertray matches that license out of respect for\nthe OpenRazer project's reverse-engineering work, which this app builds on.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuxencs%2Frazertray","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuxencs%2Frazertray","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuxencs%2Frazertray/lists"}