Search packages, repositories and app categories

Package detailsv0.2.3

screen_capturer

This plugin allows Flutter desktop apps to capture screenshots.

macOSWindowsLinux
30-day downloads
3.4K
Likes
83
Pub points
150

Install package

flutter pub add screen_capturer

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

The screen_capturer package enables Flutter desktop applications to capture screenshots on macOS, Windows, and Linux. It provides a simple API to take full-screen or region-specific screenshots, making it ideal for apps requiring visual documentation, debugging tools, or screen sharing features. The plugin integrates directly with the operating system's screen capture capabilities, ensuring reliable performance across platforms. It is designed for developers building desktop-first Flutter apps that need to interact with the screen content programmatically.

Use cases

  • Taking screenshots in desktop apps
  • Debugging and testing tools
  • Screen recording utilities
  • Visual documentation
  • User interface walkthroughs

Key features

  • Cross-platform support (macOS, Windows, Linux)
  • Simple screenshot API
  • Region-specific capture
  • Native OS integration
  • Lightweight and fast

Suitable for

  • Desktop app developers
  • Debugging tool creators
  • UI automation testers
  • Screen sharing applications

Considerations

  • Requires platform-specific permissions
  • Limited to desktop platforms
  • May require user consent for screen access
  • No mobile support
  • Depends on native system APIs

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

🚀 Ship Your App Faster: Try Fastforge - The simplest way to build, package and distribute your Flutter apps.

screen_capturer

pub version All Contributors

This plugin allows Flutter desktop apps to take screenshots.


English | 简体中文


Platform Support

Linux macOS Windows
✔️ ✔️ ✔️

Quick Start

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  screen_capturer: ^0.2.3

Or

dependencies:
  screen_capturer:
    git:
      path: packages/screen_capturer
      url: https://github.com/leanflutter/screen_capturer.git
      ref: main
Windows requirements

Be sure to modify your Visual Studio installation and ensure that "C++ ATL for latest v142 build tools (x86 & x64)" is installed!

Usage
macOS

Change the file macos/Runner/DebugProfile.entitlements or macos/Runner/Release.entitlements as follows:

Required only for sandbox mode.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>com.apple.security.app-sandbox</key>
	<true/>
+	<key>com.apple.security.temporary-exception.mach-register.global-name</key>
+	<string>com.apple.screencapture.interactive</string>
</dict>
</plist>
import 'package:screen_capturer/screen_capturer.dart';

CapturedData? capturedData = await screenCapturer.capture(
  mode: CaptureMode.region, // screen, window
  imagePath: '<path>',
  copyToClipboard: true,
);

Please see the example app of this plugin for a full example.

Platform Differences

CaptureMode
Name Description Linux macOS Windows
region Drag the cursor around an object to form a rectangle. ✔️ ✔️ ✔️
screen Capture the entire screen. ✔️ ✔️ ✔️
window Select a window, that you want to capture. (linux capture only the current window) ➖ ✔️ ✔️

Who's using it?

Contributors

LiJianying
LiJianying

💻
Amit Mondal
Amit Mondal

💻
lightrabbit
lightrabbit

💻
liuyuxin
liuyuxin

💻
kalykun
kalykun

📖
Add your contributions

License

MIT

Categories

Dependencies

Dependency list 4 items

  • screen_capturer_linux^0.2.3
  • screen_capturer_macos^0.2.2
  • screen_capturer_platform_interface^0.2.2
  • screen_capturer_windows^0.2.2

Source repository

Projects using this package

No data available yet.