{"id":13441000,"url":"https://github.com/ksnip/ksnip","last_synced_at":"2026-01-29T09:41:44.536Z","repository":{"id":37762546,"uuid":"64607359","full_name":"ksnip/ksnip","owner":"ksnip","description":"ksnip the cross-platform screenshot and annotation tool","archived":false,"fork":false,"pushed_at":"2025-12-23T12:25:27.000Z","size":6973,"stargazers_count":3023,"open_issues_count":317,"forks_count":207,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-12-25T01:46:22.975Z","etag":null,"topics":["annotation","blur-image","crop-image","cross-platform-screenshot","drawing","gnome-wayland","hacktoberfest","imgur-uploader","kde-wayland","ksnip","linux","macos","qt","screenshot","script-uploader","single-instance","stickers","wayland","windows","x11"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ksnip.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","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},"funding":{"github":"DamirPorobic","liberapay":"dporobic","patreon":"dporobic","open_collective":"ksnip","custom":["paypal.me/damirporobic","gofundme.com/f/buy-a-macbook-for-ksnips-cross-platform-support"]}},"created_at":"2016-07-31T17:51:28.000Z","updated_at":"2025-12-23T12:00:29.000Z","dependencies_parsed_at":"2025-12-23T14:05:35.650Z","dependency_job_id":null,"html_url":"https://github.com/ksnip/ksnip","commit_stats":{"total_commits":2611,"total_committers":184,"mean_commits":"14.190217391304348","dds":"0.31941784756798164","last_synced_commit":"6f0842db4c5ba3c00ccccad051cc294491a4d76e"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/ksnip/ksnip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksnip%2Fksnip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksnip%2Fksnip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksnip%2Fksnip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksnip%2Fksnip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksnip","download_url":"https://codeload.github.com/ksnip/ksnip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksnip%2Fksnip/sbom","scorecard":{"id":571502,"data":{"date":"2025-08-11","repo":{"name":"github.com/ksnip/ksnip","commit":"da2a2c3016b14bc8fd8887c0cd19ae045596cc69"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":1,"reason":"Found 4/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":1,"reason":"1 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/macos.yml:1","Warn: no topLevel permission defined: .github/workflows/windows.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact continuous not signed: https://api.github.com/repos/ksnip/ksnip/releases/197306961","Warn: release artifact v1.10.1 not signed: https://api.github.com/repos/ksnip/ksnip/releases/95672810","Warn: release artifact v1.10.0 not signed: https://api.github.com/repos/ksnip/ksnip/releases/67493708","Warn: release artifact v1.9.2 not signed: https://api.github.com/repos/ksnip/ksnip/releases/53874599","Warn: release artifact v1.9.1 not signed: https://api.github.com/repos/ksnip/ksnip/releases/49473729","Warn: release artifact continuous does not have provenance: https://api.github.com/repos/ksnip/ksnip/releases/197306961","Warn: release artifact v1.10.1 does not have provenance: https://api.github.com/repos/ksnip/ksnip/releases/95672810","Warn: release artifact v1.10.0 does not have provenance: https://api.github.com/repos/ksnip/ksnip/releases/67493708","Warn: release artifact v1.9.2 does not have provenance: https://api.github.com/repos/ksnip/ksnip/releases/53874599","Warn: release artifact v1.9.1 does not have provenance: https://api.github.com/repos/ksnip/ksnip/releases/49473729"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:82: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:140: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:149: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:178: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:207: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:216: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:256: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linux.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macos.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macos.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:123: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:158: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windows.yml:200: update your workflow using https://app.stepsecurity.io/secureworkflow/ksnip/ksnip/windows.yml/master?enable=pin","Info:   0 out of  15 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  19 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T16:28:11.917Z","repository_id":37762546,"created_at":"2025-08-20T16:28:11.917Z","updated_at":"2025-08-20T16:28:11.917Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28874260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T07:35:32.468Z","status":"ssl_error","status_checked_at":"2026-01-29T07:33:31.463Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","blur-image","crop-image","cross-platform-screenshot","drawing","gnome-wayland","hacktoberfest","imgur-uploader","kde-wayland","ksnip","linux","macos","qt","screenshot","script-uploader","single-instance","stickers","wayland","windows","x11"],"created_at":"2024-07-31T03:01:28.722Z","updated_at":"2026-01-29T09:41:44.509Z","avatar_url":"https://github.com/ksnip.png","language":"C++","funding_links":["https://github.com/sponsors/DamirPorobic","https://liberapay.com/dporobic","https://patreon.com/dporobic","https://opencollective.com/ksnip","paypal.me/damirporobic","gofundme.com/f/buy-a-macbook-for-ksnips-cross-platform-support","https://www.paypal.me/damirporobic"],"categories":["C++","Uncategorized","Applications","Screenshot utilities","Screenshots","C++ (225)","截图","Table of Contents"],"sub_categories":["Uncategorized","Graphics","Metadata removal","Screen Recording"],"readme":"# [ksnip](http://ksnip.org/) \n[![Linux build status][github-linux-badge]][github-linux-url] [![Windows build status][github-windows-badge]][github-windows-url] [![MacOS build status][github-macos-badge]][github-macos-url] [![GitHub commits (since latest release)][gh-comm-since-badge]][gh-comm-since-url]  \n[![Translation status][weblate-badge]][weblate-url] [![GitHub total downloads][gh-dl-badge]][gh-dl-url] [![SourceForge total downloads][sf-dt-badge]][sf-dt-badge-url] [![Discord][discord-badge]][discord-badge-url]\n[![IRC: #ksnip on libera.chat][libera-badge]][libera-badge-url]\n[![GitHub license](https://img.shields.io/github/license/ksnip/ksnip?color=lightgrey)](https://github.com/ksnip/ksnip/blob/master/LICENSE.txt)\n\nVersion v1.11.0\n\nKsnip is a Qt-based cross-platform screenshot tool that provides many annotation features\nfor your screenshots.\n\n![ksnip](https://i.imgur.com/0oP6i1H.png \"Ksnip with annotations\")\n\n# Features\nLatest ksnip version contains following features:\n* Supports Linux (X11, Plasma Wayland, GNOME Wayland and xdg-desktop-portal Wayland), Windows and macOS.\n* Screenshot of a custom rectangular area that can be drawn with mouse cursor.\n* Screenshot of last selected rectangular area without selecting again.\n* Screenshot of the screen/monitor where the mouse cursor is currently located.\n* Screenshot of full-screen, including all screens/monitors.\n* Screenshot of window that currently has focus.\n* Screenshot of window under mouse cursor.\n* Screenshot with or without mouse cursor.\n* Capture mouse cursor as annotation item that can be moved and deleted.\n* Customizable capture delay for all capture options.\n* Upload screenshots directly to imgur.com in anonymous or user mode.\n* Upload screenshots via FTP in anonymous or user mode.\n* Upload screenshots via custom user defined scripts.\n* Command-line support, for capturing screenshots and saving to default location, filename and format.\n* Filename wildcards for Year ($Y), Month ($M), Day ($D), Time ($T) and Counter (multiple # characters for number with zero-leading padding).\n* Print screenshot or save it to PDF/PS.\n* Annotate screenshots with pen, marker, rectangles, ellipses, texts and other tools.\n* Annotate screenshots with stickers and add custom stickers.\n* Crop and cut out vertical/horizontal slices of images.\n* Obfuscate image regions with blur and pixelate.\n* Add effects to image (Drop Shadow, Grayscale, invert color or Border).\n* Add watermarks to captured images.\n* Global hotkeys for capturing screenshots (currently only for Windows and X11).\n* Tabs for screenshots and images.\n* Open existing images via dialog, drag-and-drop or paste from clipboard.\n* Run as single instance application (secondary instances send cli parameter to primary instance).\n* Pin screenshots in frameless windows that stay atop other windows.\n* User-defined actions for taking screenshot and post-processing.\n* OCR support through plugin (Window and Linux/Unix).\n* Many configuration options.\n\n# Supported Screenshot Types\n|                     | Rect Area | Last Rect Area | Full Screen | Current Screen | Active Window | Window Under Cursor | Without Mouse Cursor | Screenshot Portal |\n| --------------------|:---------:|:--------------:|:-----------:|:--------------:|:-------------:|:-------------------:|:--------------------:|:-----------------:|\n| X11                 | X         | X              | X           | X              | X             |                     | X                    |                   |\n| Plasma Wayland      |           |                | X           | X              |               | X                   |                      |                   |\n| Gnome Wayland `\u003c 41`| X         | X              | X           | X              | X             |                     | X                    |                   |\n| xdg-desktop-portal* |           |                |             |                |               |                     |                      | X                 |\n| Windows             | X         | X              | X           | X              | X             |                     | X                    |                   |\n| macOS               | X         | X              | X           | X              |               |                     |                      |                   |\n\n\u0026ast; xdg-desktop-portal screenshots are screenshots taken by the compositor and passed to ksnip, you will see a popup dialog that requires additional confirmation,\n    the implementation can vary depending on the compositor. Currently, Snaps and Gnome Wayland `\u003e= 41` only support xdg-desktop-portal screenshots, this is a\n    limitation coming from the Gnome and Snaps, non-native screenshot tools are not allowed to take screenshots in any other way except through the xdg-desktop-portal.\n    \n# Installing Binaries\nBinaries can be downloaded from the [Releases page](https://github.com/ksnip/ksnip/releases). \nCurrently, RPM, DEB, APT, Snap, Flatpak and AppImage for Linux, \nzipped EXE for Windows and \nAPP for macOS in a DMG package are available.\n\n### Continuous build\nAll supported binaries are built for every pushed commit, to be found at the top of the\nrelease page. Continuous build artifacts are not fully tested and in most cases they are work in progress,\nso use them with caution.\n\n## Linux\n\n*Click on the item, to expand information.*\n\n\u003cdetails\u003e\n  \u003csummary\u003eAppImage\u003c/summary\u003e\n\nTo use AppImages, make them executable and run them, no installation is required.\n```\n$ chmod a+x ksnip*.AppImage\n$ ./ksnip*.AppImage\n```\n\nMore info about setting to executable can be found [here](https://discourse.appimage.org/t/how-to-make-an-appimage-executable/80).\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRPM\u003c/summary\u003e\n\nJust install them via RPM and use.\n```\n$ rpm -Uvh ksnip*.rpm\n$ ksnip\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eDEB\u003c/summary\u003e\n\nJust install them via apt and start using.\n```\n$ sudo apt install ./ksnip*.deb\n$ ksnip\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eAPT\u003c/summary\u003e\n\nStarting with Ubuntu 21.04 Hirsute Hippo, you can install from the [official package](https://launchpad.net/ubuntu/+source/ksnip):\n```\n$ sudo apt install ksnip\n```\n\nFor older Ubuntu versions, you can use [@nemonein](https://github.com/nemonein)'s unofficial [PPA](url):\n```\nsudo add-apt-repository ppa:nemonein/ksnip\nsudo apt update\nsudo apt install ksnip\n```\n\nFor Debian 11 and later releases, you can install from the [official package](https://tracker.debian.org/pkg/ksnip):\n```\n$ sudo apt install ksnip\n```\n\nFor Debian 10 and Debian 9, ksnip is available via [Debian Backports](https://backports.debian.org/).\nPlease enable `bullseye-backports` and `buster-backports` repo for Debian 10 and Debian 9 respectively before installing using `sudo apt install ksnip`.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eArchLinux\u003c/summary\u003e\n\nKsnip is in the [Extra repository](https://archlinux.org/packages/extra/x86_64/ksnip/), so you can install it directly via pacman.\n```\n$ sudo pacman -S ksnip\n```\n\nIf you want to build from the GIT repository, you can use the [AUR package](https://aur.archlinux.org/packages/ksnip-git/) (make sure you build the necessary dependencies too).\n```\n$ yay -S ksnip-git kimageannotator-git kcolorpicker-git\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eSnap\u003c/summary\u003e\n\nThe usual method for Snaps, will install the latest version:\n```\n$ sudo snap install ksnip\n```\n\nThe continuous build version is also available as edge, in order to install it you need to provide the edge flag:\n```\n$ sudo snap install ksnip --edge\n```\n\nSnap startup time can be sped up and console output cleaned up from following error `Could not create AF_NETLINK socket (Permission denied)` by running the following commands:\n```\n$ snap connect ksnip:network-observe\n$ snap connect ksnip:network-manager-observe\n```\n\nIf you need to save screenshots to a removable media, the following additional connection is required:\n```\n$ snap connect ksnip:removable-media\n```\n\nThis only needs to be done once and connects some Snap plugs which are currently not auto-connected.\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/ksnip)\n\u003c/Details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eFlatpak\u003c/summary\u003e\n\nThe usual method for Flatpaks will install the latest version:\n```\n$ flatpak install flathub org.ksnip.ksnip\n```\n\nThen just start it:\n```\n$ flatpak run org.ksnip.ksnip\n```\n\n\u003ca href='https://flathub.org/apps/details/org.ksnip.ksnip'\u003e\u003cimg width='220' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/\u003e\u003c/a\u003e\n\u003c/details\u003e\n\n## Windows\n\n\u003cdetails\u003e\n  \u003csummary\u003eMSI\u003c/summary\u003e\n\nThe MSI installer installs ksnip on your system and is the preferred way for installing ksnip under Windows.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEXE\u003c/summary\u003e\n\nThe EXE file with all required dependencies comes in a zipped package, which just needs to be unzipped\nwith your favorite unpacking tool. Ksnip can then be started by just double-clicking ksnip.exe.\n\u003c/details\u003e\n\n## macOS\n\n\u003cdetails\u003e\n  \u003csummary\u003eAPP\u003c/summary\u003e\n\nThe app file comes in a DMG package which needs to be opened, and the ksnip.app file needs to be dragged\nand dropped into the \"Application\" folder. After that the application can be started by double clicking ksnip.app\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eHomebrew Cask\u003c/summary\u003e\n\nJust install via Homebrew and start using from your \"Applications\" folder.\n```\n$ brew install --cask ksnip\n```\n\u003c/details\u003e\n\n# Plugins\nksnip functionality can be extended by using plugins that need to be downloaded separately and installed or unpacked,\ndepending on the environment. Currently, under `Options \u003e Settings \u003e Plugins` a plugin detection can be triggered either\nin the default location(s) or by providing a search path where to look for plugins. After clicking on \"Detect\", ksnip \nsearches for known plugins and when found will list the name and version. \n\n### Default search locations  \nWindows: `plugins` directory, next to `ksnip.exe`  \nLinux/Unix: `/usr/local/lib`, `/usr/local/lib64`, `/usr/lib`, `/usr/lib64`  \n\n### Version selection\nThe plugin must match the Qt version and build type of ksnip. If you have a ksnip version that uses Qt 15.5.X and was\nbuild in `DEBUG` then the plugin must match the same criteria. In most cases the latest ksnip and plugin version will\nbe using the same Qt version, the only think that you need to watch out for is to not mix `DEBUG` and `RELEASE` build.\n\n## OCR (Window and Linux/Unix)\nksnip supports OCR by using the [ksnip-plugin-ocr](https://github.com/ksnip/ksnip-plugin-ocr) which utilizes Tesseract\nto convert Image to text. When the OCR plugin was loaded, the OCR option becomes available under `Options \u003e OCR`.\nThe latest plugin version can be found [here](https://github.com/ksnip/ksnip-plugin-ocr/releases).\n\n\n# Dependencies\nksnip depends on [kImageAnnotator](https://github.com/ksnip/kImageAnnotator) and [kColorPicker](https://github.com/DamirPorobic/kColorPicker) which needs\nto be installed before building ksnip from source. Installation instructions can be found on the Github pages.\n\n# Building from source\n1. Get the latest release from GitHub by cloning the repo:\n    `$ git clone https://github.com/ksnip/ksnip`\n2. Change to repo directory:\n    `$ cd ksnip`\n3. Make new build directory and enter it:\n    `$ mkdir build \u0026\u0026 cd build`\n4. Create the makefile and build the project:\n    `$ cmake .. \u0026\u0026 make`\n5. Now install the application, eventually you need to run it with sudo:\n    `$ sudo make install`\n6. Run the application:\n    `$ ksnip`\n\nIf you are using Archlinux, you may prefer to [build ksnip through AUR](https://github.com/ksnip/ksnip#archlinux).\n\n# Known Issues\n\n\u003cdetails\u003e\n  \u003csummary\u003eExpand\u003c/summary\u003e\n\n### X11\n1. Snipping area with transparent background doesn't work when compositor is turned off, freeze background is used in that case.\n\n### macOS\n1. Snipping area with transparent background doesn't work, freeze background is always used. Issue [#151](https://github.com/ksnip/ksnip/issues/151)\n2. Second activation of snipping area doesn't get focus, you need to switch to the right side in order to see the snipping area. Issue [#152](https://github.com/ksnip/ksnip/issues/152)\n3. Mouse cursor is always captured. Issue [#153](https://github.com/ksnip/ksnip/issues/153)\n\n### Wayland\n1. Portal and Native Screenshots not working under KDE Plasma `\u003e= 5.80`. The issue is coming from a recent change in KDE \nPlasma that prevents access to DBUS Interfaces responsible for taking screenshots. This issue is going to be fixed in \nfuture Plasma releases for the Portal Screenshots. Workaround for making the Portal Screenshots work is adding the string \n`X-KDE-DBUS-Restricted-Interfaces=org.kde.kwin.Screenshot` to the \n`/usr/share/applications/org.freedesktop.impl.portal.desktop.kde.desktop` file and then restarting. Don't forget to \nenforce Portal screenshots in settings. Issue [#424](https://github.com/ksnip/ksnip/issues/424)\n2. Under Gnome Wayland copying images to clipboard and then pasting them somewhere might not work. This happens currently\nwith native Wayland. A workaround is using XWayland by starting ksnip like this `QT_QPA_PLATFORM=xcb /usr/bin/ksnip` or\nswitch to XWayland completely by exporting that variable `export QT_QPA_PLATFORM=xcb`. Issue [#416](https://github.com/ksnip/ksnip/issues/416)\n3. Native Wayland screenshots are no longer possible with Gnome `\u003e= 41`. The Gnome developers have forbidden\naccess to the DBus interface that provides Screenshots under Wayland and leave non Gnome application only the possibility\nto use xdg-desktop-portal screenshots. Security comes before usability for the Gnome developers. There is an open feature \nrequest to only grant screenshot permission once instead of for every screenshot, help us raise awareness for such feature \n[here](https://github.com/flatpak/xdg-desktop-portal/issues/649).\n4. Global Hotkeys don't work under Wayland, this is due to the secure nature of Wayland. As long as compositor developers\ndon't provide an interface for us to work with Global Hotkeys, does won't be supported.\n\n### Screen Scaling (HiDPI)\n1. Qt is having issues with screen scaling, it can occur that the Snipping area is incorrectly positioned. As a workaround\nthe Snipping Area position or offset can be configured so that it's placed correctly. Issue [#276]\n\u003c/details\u003e\n\n### Snap\n1. Drag and Drop might not be working when ksnip or the application that you drag and drop from/to is installed as snap.\nthe reason is that the image is shared via the temp directory which in case of snaps are restricted and every \napplication can only see their own files or files of the user. The workaround for this is to change the temp directory \nlocation to a user owned directory like home, document or download directory via `Options \u003e Settings \u003e Application \u003e \nTemp Directory`.\n\n# Discussion \u0026 Community\nIf you have general questions, ideas or just want to talk about ksnip, please join our [Discord][discord-badge-url] \nor [IRC][libera-badge-url] server. \n\n# Contribution\nAny contribution is welcome, be it code, translations or other things. Currently, we need:\n* Developers for writing code and fixing bugs for linux, windows and macOS. We have **only one developer** and the feature requests and bugs are pilling up.\n* Testers for testing releases on different OS and Distros.\n* Docu writers, there are a lot of features that the casual users don't know about.\n* Bug reporting, Please report any bugs or feature requests related to the annotation editor on the [kImageAnnotator](https://github.com/ksnip/kImageAnnotator/issues) GitHub page under the \"Issue\" section.\nAll other bugs or feature requests can be reported on the [ksnip](https://github.com/ksnip/ksnip/issues) GitHub page under the \"Issue\" section.\n* Translations - [Weblate](https://hosted.weblate.org/projects/ksnip/translations/) is used for translations. For translating annotator-related texts, please refer to [kImageAnnotator](https://github.com/ksnip/kImageAnnotator)\n\u003cdetails\u003e\n  \u003csummary\u003eTranslation status\u003c/summary\u003e\n\n[![Translation status](https://hosted.weblate.org/widgets/ksnip/-/translations/multi-green.svg)](https://hosted.weblate.org/engage/ksnip/?utm_source=widget)\n\u003c/details\u003e\n\n# Donation \nksnip is a non-profitable copylefted libre software project, and still has some costs that need to be covered, like domain costs or hardware costs for cross-platform support.\nIf you want to help or just want to appreciate the work being done by treating developers to a beer or coffee,\nyou can do that [here](https://www.paypal.me/damirporobic), donations are always welcome :)\n\nIn order to improve our MacOS support, we are trying to collect some money to buy a MacBook, you can donate [here](https://www.gofundme.com/f/buy-a-macbook-for-ksnips-cross-platform-support).\n\nAlso in crypto:  \nBTC: `bc1q6cke457fk8qhxxacl4nu5q2keudtdukrqe2gx0`  \nETH: `0xbde87a83427D61072055596e7a746CeC5316253C`  \nBNB: `bnb1fmy0vupsv23s36sejp07jetj6exj3hqeewkj6d`    \n\n[github-linux-badge]:  https://github.com/ksnip/ksnip/actions/workflows/linux.yml/badge.svg\n[github-linux-url]:    https://github.com/ksnip/ksnip/actions/workflows/linux.yml\n\n[github-windows-badge]:https://github.com/ksnip/ksnip/actions/workflows/windows.yml/badge.svg\n[github-windows-url]:  https://github.com/ksnip/ksnip/actions/workflows/windows.yml\n\n[github-macos-badge]:  https://github.com/ksnip/ksnip/actions/workflows/macos.yml/badge.svg\n[github-macos-url]:    https://github.com/ksnip/ksnip/actions/workflows/macos.yml\n\n[weblate-badge]:       https://hosted.weblate.org/widgets/ksnip/-/translations/svg-badge.svg\n[weblate-url]:         https://hosted.weblate.org/engage/ksnip/?utm_source=widget\n\n[gh-dl-badge]:         https://img.shields.io/github/downloads/damirporobic/ksnip/total.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMiwxMy40Yy0xMC41LDAtMTksOC41LTE5LDE5YzAsOC40LDUuNSwxNS41LDEzLDE4YzEsMC4yLDEuMy0wLjQsMS4zLTAuOWMwLTAuNSwwLTEuNywwLTMuMiBjLTUuMywxLjEtNi40LTIuNi02LjQtMi42QzIwLDQxLjYsMTguOCw0MSwxOC44LDQxYy0xLjctMS4yLDAuMS0xLjEsMC4xLTEuMWMxLjksMC4xLDIuOSwyLDIuOSwyYzEuNywyLjksNC41LDIuMSw1LjUsMS42IGMwLjItMS4yLDAuNy0yLjEsMS4yLTIuNmMtNC4yLTAuNS04LjctMi4xLTguNy05LjRjMC0yLjEsMC43LTMuNywyLTUuMWMtMC4yLTAuNS0wLjgtMi40LDAuMi01YzAsMCwxLjYtMC41LDUuMiwyIGMxLjUtMC40LDMuMS0wLjcsNC44LTAuN2MxLjYsMCwzLjMsMC4yLDQuNywwLjdjMy42LTIuNCw1LjItMiw1LjItMmMxLDIuNiwwLjQsNC42LDAuMiw1YzEuMiwxLjMsMiwzLDIsNS4xYzAsNy4zLTQuNSw4LjktOC43LDkuNCBjMC43LDAuNiwxLjMsMS43LDEuMywzLjVjMCwyLjYsMCw0LjYsMCw1LjJjMCwwLjUsMC40LDEuMSwxLjMsMC45YzcuNS0yLjYsMTMtOS43LDEzLTE4LjFDNTEsMjEuOSw0Mi41LDEzLjQsMzIsMTMuNHoiLz48L3N2Zz4=\n[gh-dl-url]:           https://github.com/ksnip/ksnip/releases\n\n[sf-dt-badge]:         https://img.shields.io/sourceforge/dt/ksnip.svg?logo=data:image/svg+xml;base64,PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAyMDAxMDkwNC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+PHN2ZyB2ZXJzaW9uPSIxLjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMzMHB4IiBoZWlnaHQ9IjMzMHB4IiB2aWV3Qm94PSIwIDAgMzMwMCAzMzAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij48ZyBpZD0ibGF5ZXIxMDEiIGZpbGw9IiNmZmYiIHN0cm9rZT0ibm9uZSI+IDxwYXRoIGQ9Ik0xNTI4IDMwMTkgYy0xMCAtNSAtMTggLTIwIC0xOCAtMzIgMCAtMTYgMTczIC0xOTUgNjA3IC02MjkgNTYyIC01NjIgNjA2IC02MDkgNjA1IC02MzkgLTEgLTI5IC00OSAtODEgLTQ4MSAtNTEzIC0zMjMgLTMyMyAtNDgxIC00ODggLTQ4MSAtNTAyIDAgLTIzIDE5OCAtMjI0IDIyMSAtMjI0IDE5IDAgMTIzOSAxMjIxIDEyMzkgMTI0MCAwIDggLTI5MSAzMDYgLTY0NyA2NjIgbC02NDggNjQ4IC0xOTAgMCBjLTExMCAwIC0xOTcgLTUgLTIwNyAtMTF6Ii8+IDxwYXRoIGQ9Ik02ODIgMjIwNiBjLTQwMSAtNDAwIC02MTMgLTYxOSAtNjExIC02MjkgNCAtMTggMTI2MiAtMTI4MiAxMjkxIC0xMjk4IDIzIC0xMyAzNzUgLTEyIDM5OSAxIDEwIDYgMTkgMjEgMTkgMzMgMCAxNSAtMTcyIDE5NCAtNjA0IDYyNyAtMzMzIDMzMyAtNjA1IDYxMiAtNjA2IDYyMCAtMiA4IC0yIDI0IC0xIDM1IDEgMTIgMTkzIDIxMiA0ODEgNTAwIDMwOCAzMDggNDgwIDQ4NyA0ODAgNTAwIDAgMjMgLTE5NyAyMjUgLTIyMCAyMjUgLTggMCAtMjkxIC0yNzYgLTYyOCAtNjE0eiIvPiA8cGF0aCBkPSJNMTU5MiAyMjM5IGMtMTM5IC0yMyAtMjY5IC0xMjMgLTMzNiAtMjYwIC00NiAtOTUgLTYwIC0xNjkgLTUyIC0yODkgMTAgLTE2MiA1MSAtMjU4IDE4NiAtNDMxIDEwOCAtMTM4IDEzOCAtMTk2IDE1MyAtMjg4IDEyIC04MyAyNiAtOTAgNzMgLTM4IDgxIDg2IDEzNyAxODYgMTc5IDMxNyA0MCAxMjYgNTUgMjE2IDY2IDQwMCA2IDkxIDE2IDE3NiAyMiAxOTAgMTggMzcgNTEgMzcgNzYgMSA0OCAtNjYgNTUgLTEwNiA1NSAtMjg0IDAgLTEwOSA0IC0xNjYgMTEgLTE2NCAxNiA1IDUzIDkxIDgwIDE4NCA5MSAzMTIgLTg3IDYyMCAtMzgxIDY2MyAtMzggNSAtNzEgOSAtNzQgOSAtMyAtMSAtMjkgLTUgLTU4IC0xMHoiLz4gPC9nPjwvc3ZnPg==\n[sf-dt-badge-url]:     https://sourceforge.net/projects/ksnip\n\n[gh-comm-since-badge]: https://img.shields.io/github/commits-since/damirporobic/ksnip/latest.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgdmlld0JveD0iMTIgMTIgNDAgNDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMiwxMy40Yy0xMC41LDAtMTksOC41LTE5LDE5YzAsOC40LDUuNSwxNS41LDEzLDE4YzEsMC4yLDEuMy0wLjQsMS4zLTAuOWMwLTAuNSwwLTEuNywwLTMuMiBjLTUuMywxLjEtNi40LTIuNi02LjQtMi42QzIwLDQxLjYsMTguOCw0MSwxOC44LDQxYy0xLjctMS4yLDAuMS0xLjEsMC4xLTEuMWMxLjksMC4xLDIuOSwyLDIuOSwyYzEuNywyLjksNC41LDIuMSw1LjUsMS42IGMwLjItMS4yLDAuNy0yLjEsMS4yLTIuNmMtNC4yLTAuNS04LjctMi4xLTguNy05LjRjMC0yLjEsMC43LTMuNywyLTUuMWMtMC4yLTAuNS0wLjgtMi40LDAuMi01YzAsMCwxLjYtMC41LDUuMiwyIGMxLjUtMC40LDMuMS0wLjcsNC44LTAuN2MxLjYsMCwzLjMsMC4yLDQuNywwLjdjMy42LTIuNCw1LjItMiw1LjItMmMxLDIuNiwwLjQsNC42LDAuMiw1YzEuMiwxLjMsMiwzLDIsNS4xYzAsNy4zLTQuNSw4LjktOC43LDkuNCBjMC43LDAuNiwxLjMsMS43LDEuMywzLjVjMCwyLjYsMCw0LjYsMCw1LjJjMCwwLjUsMC40LDEuMSwxLjMsMC45YzcuNS0yLjYsMTMtOS43LDEzLTE4LjFDNTEsMjEuOSw0Mi41LDEzLjQsMzIsMTMuNHoiLz48L3N2Zz4=\n[gh-comm-since-url]:   https://github.com/ksnip/ksnip/releases/tag/continuous\n\n[discord-badge]:       https://img.shields.io/discord/812295724837371955.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2\n[discord-badge-url]:   http://discord.ksnip.org\n\n[libera-badge]:        https://img.shields.io/badge/libera.chat-%23ksnip-brightgreen.svg\n[libera-badge-url]:    https://web.libera.chat/?channels=#ksnip\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksnip%2Fksnip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksnip%2Fksnip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksnip%2Fksnip/lists"}