{"id":49955316,"url":"https://github.com/singhpratech/kashot","last_synced_at":"2026-05-24T07:01:31.737Z","repository":{"id":358488368,"uuid":"1225801182","full_name":"singhpratech/kashot","owner":"singhpratech","description":"Cross-platform tray screenshot + screen-recording tool (Windows · Linux · macOS). Native overlay editor — 9 annotation tools, palettes, pixelate, watermark, pin-to-screen.","archived":false,"fork":false,"pushed_at":"2026-05-17T23:11:13.000Z","size":11625,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T23:16:26.223Z","etag":null,"topics":["annotation","cross-platform","linux","macos","overlay","rust","screen-recorder","screenshot","tray","windows"],"latest_commit_sha":null,"homepage":"https://kashot.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/singhpratech.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":"SECURITY.md","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-04-30T16:50:03.000Z","updated_at":"2026-05-17T22:40:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/singhpratech/kashot","commit_stats":null,"previous_names":["singhpratech/kashot"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/singhpratech/kashot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singhpratech%2Fkashot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singhpratech%2Fkashot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singhpratech%2Fkashot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singhpratech%2Fkashot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/singhpratech","download_url":"https://codeload.github.com/singhpratech/kashot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/singhpratech%2Fkashot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33424573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"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":["annotation","cross-platform","linux","macos","overlay","rust","screen-recorder","screenshot","tray","windows"],"created_at":"2026-05-17T23:02:57.068Z","updated_at":"2026-05-24T07:01:31.728Z","avatar_url":"https://github.com/singhpratech.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/kashot-256.png\" width=\"140\" height=\"140\" alt=\"KAShot\" /\u003e\n\n# KAShot\n\n### The lightweight screenshot tool every platform deserves.\n\n**Drag a region. Annotate. Save, copy, pin, record. Stop screenshotting — start kashoting.**\n\n[**kashot.org**](https://kashot.org)\n\u0026nbsp;·\u0026nbsp; [Download](https://kashot.org/#download)\n\u0026nbsp;·\u0026nbsp; [Roadmap](PLAN.md)\n\u0026nbsp;·\u0026nbsp; [Architecture](ARCHITECTURE.md)\n\n[![License](https://img.shields.io/badge/license-Apache--2.0-22c55e.svg)](LICENSE)\n![Platform](https://img.shields.io/badge/platforms-Windows%20%7C%20Linux%20%7C%20macOS-0ea5e9)\n![Binary](https://img.shields.io/badge/binary-~7MB%20stripped-eab308)\n![No telemetry](https://img.shields.io/badge/telemetry-none-ec4899)\n[![Build](https://github.com/singhpratech/kashot/actions/workflows/build-rust.yml/badge.svg)](https://github.com/singhpratech/kashot/actions)\n\n\u003c/div\u003e\n\n---\n\n## What is KAShot\n\nA tray-resident screenshot + screen-recording tool that ships **the same binary discipline** to Windows, Linux, and macOS. No Electron, no Wine, no bundled browser, no accounts, no telemetry. Hit your hotkey → drag → annotate → save / copy / pin / record → done.\n\n\u003cdiv align=\"center\"\u003e\n\n| Capture | Annotate | Save / Share |\n|:---:|:---:|:---:|\n| 🎯 Pixel-accurate region select with 7× live magnifier | ✏️ 9 tools, 4 palettes, 16 swatches each | 💾 PNG · JPG · BMP · clipboard · pin-to-screen |\n| 🖥️ Spans every monitor, single virtual desktop | ⌨️ Single-key shortcuts for every tool | 🎬 Screen recording → MP4 with mic + system audio |\n| ⏱️ Capture-in-3s / 5s / 10s with tray countdown | 🔢 Numbered steps, blur / pixelate, free-text | 🔄 Convert image · MP4 → MOV/WEBM/MKV/GIF |\n\n\u003c/div\u003e\n\n---\n\n## The story\n\nThree machines. Three different screenshot tools. Three different sets of habits.\n\nOn **Windows**, Snipping Tool is fine but its annotation story is \"scribble in MS Paint.\" Greenshot feels frozen in 2014. ShareX has a thousand options I'd never use. On **Linux**, every native option — Flameshot, Shutter, ksnip, GNOME Screenshot — is either heavyweight, opinionated, or missing the basics. On **macOS**, the built-in capture is genuinely good, but nothing else matches it on the other two operating systems I use every day.\n\nI wanted **one** screenshot tool. Same hotkey, same overlay, same shortcuts, same JSON settings — on every machine I touch.\n\nSo I started building. The first cut was a Windows-only C# / WinForms app. Once the workflow felt right I ported it to **Rust** so Linux and macOS could have the same thing natively. No Electron. No Wine. No bundled browser. No accounts. No telemetry.\n\nThat's KAShot. Lightweight. One workflow. Everywhere.\n\n— [PrateekSingh](https://github.com/singhpratech)\n\n---\n\n## Install\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth width=\"33%\" align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/kashot-64.png\" width=\"40\" alt=\"Win\"/\u003e\u003cbr\u003e**Windows**\n\n\u003c/th\u003e\n\u003cth width=\"33%\" align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/kashot-64.png\" width=\"40\" alt=\"Linux\"/\u003e\u003cbr\u003e**Linux**\n\n\u003c/th\u003e\n\u003cth width=\"33%\" align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/kashot-64.png\" width=\"40\" alt=\"macOS\"/\u003e\u003cbr\u003e**macOS**\n\n\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd valign=\"top\"\u003e\n\n[**Download .zip**](https://github.com/singhpratech/kashot/releases/latest/download/kashot-windows-x86_64.zip)\n\nUnzip → run `kashot.exe`. Same Rust binary that ships on Linux and macOS.\n\n```powershell\n# one-liner\niwr -useb https://kashot.org/install.ps1 | iex\n```\n\n```powershell\n# coming soon\nwinget install singhpratech.Kashot\nchoco  install kashot\nscoop  install kashot\n```\n\n\u003c/td\u003e\n\u003ctd valign=\"top\"\u003e\n\n```bash\ncurl -fsSL https://kashot.org/install.sh | sh\n```\n\nOne-liner auto-detects **x86_64** and **arm64**, downloads the matching tarball, drops the binary in `~/.local/bin`. Or fetch the tarball directly:\n\n```bash\n# x86_64\ncurl -L https://github.com/singhpratech/kashot/releases/latest/download/kashot-linux-x86_64.tar.gz | tar -xz\n# arm64 (Raspberry Pi 4/5, Ampere, Graviton, Asahi)\ncurl -L https://github.com/singhpratech/kashot/releases/latest/download/kashot-linux-arm64.tar.gz | tar -xz\n./kashot/kashot\n```\n\n```bash\n# coming soon\nflatpak install flathub org.kashot.Kashot\nyay -S kashot         # AUR\n```\n\n\u003c/td\u003e\n\u003ctd valign=\"top\"\u003e\n\n[**Apple Silicon**](https://github.com/singhpratech/kashot/releases/latest/download/Kashot-macos-arm64) \u0026nbsp;·\u0026nbsp;\n[Intel](https://github.com/singhpratech/kashot/releases/latest/download/Kashot-macos-x64)\n\n```bash\nchmod +x Kashot-macos-arm64\n./Kashot-macos-arm64\n```\n\n```bash\n# coming soon\nbrew install --cask kashot\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## What you get out of the box\n\n\u003cdiv align=\"center\"\u003e\n\n|  | Feature |\n|:---:|:---|\n| 🎯 | **Pixel-accurate region select** — 7× live magnifier, drag any edge to resize, `Alt`+drag to move |\n| ✏️ | **9 annotation tools** — pen, line, arrow, rectangle, ellipse, marker, text, numbered steps, blur / pixelate |\n| 🎨 | **4 palettes × 16 swatches** — Vivid · Highlighter · Pastel · Pro, plus a custom color picker |\n| 📌 | **Pin to screen** — borderless top-most window, drag anywhere on the desktop |\n| 🎬 | **Screen recording** — MP4 with floating STOP control. Linux X11 (PulseAudio mic + monitor); Windows native (ffmpeg gdigrab + DirectShow mic — system audio is queued); macOS via built-in `screencapture` (no mic yet). Wayland capture is queued |\n| 🔄 | **Format conversion** — PNG ↔ JPG / WEBP / BMP · MP4 → MOV / WEBM / MKV / GIF |\n| 🏷️ | **Watermark** — editable text, 4 anchors, 0–100 % opacity slider |\n| ⌨️ | **Global hotkey** — defaults to `PrintScreen`; remappable via settings |\n| ⏱️ | **Delayed capture** — 3 s / 5 s / 10 s countdown with tray indicator |\n| 🖥️ | **Multi-monitor** — single virtual-desktop capture, no per-screen switching |\n| 🌗 | **Themed dialogs** — Settings · About · Updates · Convert — same laser-green skin everywhere |\n| 🔒 | **No accounts. No telemetry. No upsell.** Free, open source (Apache-2.0) |\n\n\u003c/div\u003e\n\n---\n\n## Keyboard shortcuts\n\nOnce a region is selected:\n\n\u003ctable\u003e\n\u003ctr\u003e\u003cth colspan=\"2\"\u003eTools\u003c/th\u003e\u003cth colspan=\"2\"\u003eActions\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ckbd\u003eP\u003c/kbd\u003e Pen\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eM\u003c/kbd\u003e Marker\u003c/td\u003e\n\u003ctd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eZ\u003c/kbd\u003e Undo\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eC\u003c/kbd\u003e Copy\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ckbd\u003eL\u003c/kbd\u003e Line\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eT\u003c/kbd\u003e Text\u003c/td\u003e\n\u003ctd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eY\u003c/kbd\u003e Redo\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eCtrl\u003c/kbd\u003e+\u003ckbd\u003eS\u003c/kbd\u003e Save\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ckbd\u003eA\u003c/kbd\u003e Arrow\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eN\u003c/kbd\u003e Numbered step\u003c/td\u003e\n\u003ctd\u003e\u003ckbd\u003eEsc\u003c/kbd\u003e Cancel / close\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eAlt\u003c/kbd\u003e+drag Move\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ckbd\u003eR\u003c/kbd\u003e Rectangle\u003c/td\u003e\u003ctd\u003e\u003ckbd\u003eB\u003c/kbd\u003e Blur / pixelate\u003c/td\u003e\n\u003ctd\u003eDrag edges Resize\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ckbd\u003eE\u003c/kbd\u003e Ellipse\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n\u003ctd\u003e\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Build from source\n\nThe Rust workspace under `kashot-rs/` is the canonical build for every\nplatform — same source, same UX on Windows, Linux, and macOS:\n\n```sh\ncd kashot-rs\ncargo test  -p kashot-core               # pure-logic tests, no system deps\ncargo build --release --bin kashot       # ~7 MB stripped binary\n./target/release/kashot\n```\n\n\u003e The v0.1 Windows-only C# / WinForms build was retired in v0.3.0 once the\n\u003e Rust port covered all three platforms. Git history retains it if you need\n\u003e to look back.\n\nLinux build deps:\n```sh\nsudo apt install libwayland-dev libxkbcommon-dev libxcb*-dev \\\n                 libgtk-3-dev libdbus-1-dev libayatana-appindicator3-dev \\\n                 libxdo-dev pkg-config ffmpeg\n```\n\nmacOS + Windows need no extra system packages — winit, softbuffer, tray-icon, and global-hotkey use Cocoa / Win32 directly.\n\n### Bundling ffmpeg for shipping\n`kashot-rs/crates/kashot-app/build.rs` copies an ffmpeg binary next to the kashot executable so the Convert-video dialog works without a system install. For release builds, point it at a static binary:\n```sh\nKASHOT_FFMPEG=/path/to/static/ffmpeg cargo build --release --bin kashot\n```\n\nFull architecture notes in [`ARCHITECTURE.md`](ARCHITECTURE.md).\n\n---\n\n## Project layout\n\n```text\nkashot-rs/             Rust workspace — canonical build on all 3 platforms\n  crates/kashot-core      Tool · Annotation · AppSettings · ThemeColors — pure logic\n  crates/kashot-platform  capture · hotkey · tray · recorder · clipboard\n  crates/kashot-app       tray-resident binary + overlay editor + themed dialogs\ndocs/                  kashot.org landing page (GitHub Pages)\ndist/                  package-channel metadata: winget, choco, scoop, brew,\n                       flatpak, AUR, deb, rpm, snap, appimage\nicons/                 branded icon pack (every platform size, one source PNG)\n.github/workflows/     CI: matrix tests + multi-platform release builds (Rust);\n                       CodeQL scan over the workflow YAML\n```\n\n---\n\n## Status\n\n| Surface | Windows | Linux | macOS |\n|---|:---:|:---:|:---:|\n| Tray + global hotkey | ✅ | ✅ | ✅ |\n| Capture + 9-tool overlay editor | ✅ | ✅ | ✅ |\n| Save · Copy · Pin · Watermark | ✅ | ✅ | ✅ |\n| Screen recording (MP4) | ✅ mic only | ✅ mic + system | ✅ no audio yet |\n| Themed Settings · About · Updates | ✅ | ✅ | ✅ |\n| Image + video format conversion | ✅ | ✅ | ✅ |\n| Release artifact | `.zip` | `.tar.gz` (x86_64 + arm64) + AppImage | raw binary (`.dmg` queued) |\n\n**One Rust binary, three platforms.** Same source, same editor, same feature set — the `kashot-rs/` workspace is the canonical build on Windows, Linux, and macOS as of v0.3.0. The original C# / WinForms build is retired (history retained in git). See [`PLAN.md`](PLAN.md) § \"Architecture invariants\" for the settings JSON shape and hotkey wire format.\n\n---\n\n## License\n\nLicensed under the **Apache License, Version 2.0** — see [`LICENSE`](LICENSE).\n\n`SPDX-License-Identifier: Apache-2.0`.\n\nContributions are accepted under the same Apache-2.0 terms (Apache-2.0 §5).\n\n## Credits\n\nBuilt by [Prateek Singh](https://github.com/singhpratech). Bug reports and PRs welcome at [github.com/singhpratech/kashot](https://github.com/singhpratech/kashot).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/assets/kashot-64.png\" width=\"48\" alt=\"KAShot\" /\u003e\n\n[**kashot.org**](https://kashot.org)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinghpratech%2Fkashot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsinghpratech%2Fkashot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsinghpratech%2Fkashot/lists"}