#tauri-plugin #screenshot #tauri

sys tauri-plugin-screenshots

Get screenshots of windows and monitors

2 stable releases

new 2.1.0 Feb 28, 2025
2.0.0 Feb 27, 2025

#903 in GUI

43 downloads per month

MIT license

39KB
182 lines

tauri-plugin-screenshots

This plugin only works on tauri v2, if you need the v1 plugin, feel free to submit a PR!

Get screenshots of windows and monitors.

https://github.com/user-attachments/assets/0cc6e2ea-cf85-41ed-a809-078393a95c0f

Install

cargo add tauri-plugin-screenshots

You can install the JavaScript Guest bindings using your preferred JavaScript package manager:

pnpm add tauri-plugin-screenshots-api

Usage

src-tauri/src/lib.rs

pub fn run() {
    tauri::Builder::default()
+       .plugin(tauri_plugin_screenshots::init())
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

src-tauri/capabilities/default.json

{
    ...
    "permissions": [
        ...
+       "screenshots:default"
    ]
}

Afterwards all the plugin's APIs are available through the JavaScript guest bindings:

import { getScreenshotableWindows } from "tauri-plugin-screenshots-api";

const windows = await getScreenshotableWindows();

console.log(windows); // xx/tauri-plugin-screenshots/window-1.png

Methods

Method Description
getScreenshotableWindows Get all windows that can take screenshots.
getScreenshotableMonitors Get all monitors that can take screenshots.
getWindowScreenshot Get a screenshot of the window with the specified id.
getMonitorScreenshot Get a screenshot of the monitors with the specified id.
removeWindowScreenshot Remove locally stored window screenshots.
removeMonitorScreenshot Remove locally stored monitor screenshots.
clearScreenshots Remove all locally stored screenshots.

Example

git clone https://github.com/ayangweb/tauri-plugin-screenshots.git
pnpm install

pnpm build

cd examples/tauri-app

pnpm install

pnpm tauri dev

Thanks

  • Use xcap to get window and monitor screenshots.

Dependencies

~19–65MB
~1M SLoC