Search packages, repositories and app categories

Package detailsv0.5.2

window_manager

This plugin allows Flutter desktop apps to resizing and repositioning the window.

macOSWindowsLinux
30-day downloads
909K
Likes
1.1K
Pub points
160

Install package

flutter pub add window_manager

Package Overview

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

window_manager is a Flutter plugin designed for desktop applications on macOS, Windows, and Linux. It enables developers to programmatically control window properties such as size, position, and visibility. With this package, users can dynamically resize and reposition windows, enhancing the user experience in desktop-first Flutter apps. It provides a simple API to manage window behavior without requiring native code. The plugin integrates seamlessly with Flutter's UI framework and supports responsive window management across platforms.

Use cases

  • Resizing windows programmatically
  • Repositioning app windows
  • Managing window visibility
  • Creating floating or draggable windows
  • Implementing custom window behaviors

Key features

  • Cross-platform support (macOS, Windows, Linux)
  • Simple API for window manipulation
  • Supports window resizing and positioning
  • No need for native platform code
  • Seamless integration with Flutter UI

Suitable for

  • Desktop-first Flutter applications
  • Apps requiring dynamic window control
  • Developers targeting multiple desktop platforms
  • Custom window layouts
  • Advanced desktop UX features

Considerations

  • Requires Flutter 3.0 or higher
  • Limited to desktop platforms
  • May require platform-specific configuration
  • Not suitable for mobile or web apps
  • Behavior may vary slightly between operating systems

Original README

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

⚠️ Migration Notice: This plugin is being migrated to libnativeapi/nativeapi-flutter

The new version is based on a unified C++ core library (libnativeapi/nativeapi), providing more complete and consistent cross-platform native API support.

window_manager

pub version Pub Monthly Downloads All Contributors

This plugin provides comprehensive window management capabilities for Flutter desktop applications, enabling full control over window size, position, appearance, close behavior, and listening to events.


English | 简体中文


Platform Support

Linux macOS Windows
✔️ ✔️ ✔️

Documentation

Quick Start

Installation

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

dependencies:
  window_manager: ^0.5.1
Usage
import 'package:flutter/material.dart';
import 'package:window_manager/window_manager.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // Must add this line.
  await windowManager.ensureInitialized();

  WindowOptions windowOptions = WindowOptions(
    size: Size(800, 600),
    center: true,
    backgroundColor: Colors.transparent,
    skipTaskbar: false,
    titleBarStyle: TitleBarStyle.hidden,
  );
  windowManager.waitUntilReadyToShow(windowOptions, () async {
    await windowManager.show();
    await windowManager.focus();
  });

  runApp(MyApp());
}

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

Related Articles

Who's using it?

  • Airclap - Send any file to any device. cross platform, ultra fast and easy to use.
  • AuthPass - Password Manager based on Flutter for all platforms. Keepass 2.x (kdbx 3.x) compatible.
  • Biyi (比译) - A convenient translation and dictionary app written in dart / Flutter.
  • BlueBubbles - BlueBubbles is an ecosystem of apps bringing iMessage to Android, Windows, and Linux
  • LunaSea - A self-hosted controller for mobile and macOS built using the Flutter framework.
  • Linwood Butterfly - Open source note taking app written in Flutter
  • RustDesk - Yet another remote desktop software, written in Rust. Works out of the box, no configuration required.
  • Ubuntu Desktop Installer - This project is a modern implementation of the Ubuntu Desktop installer.
  • UniControlHub - Seamlessly bridge your Desktop and Mobile devices
  • EyesCare - A light-weight application following 20 rule adherence for optimum eye health

Contributors

LiJianying
LiJianying

💻
 A Arif A S
A Arif A S

💻
J-P Nurmi
J-P Nurmi

💻
Dixeran
Dixeran

💻
nikitatg
nikitatg

💻
Kristen McWilliam
Kristen McWilliam

💻
Kingtous
Kingtous

💻
Prome
Prome

💻
Bin
Bin

💻
youxiachai
youxiachai

💻
Allen Xu
Allen Xu

💻
CodeDoctor
CodeDoctor

💻
Jean-Christophe Binet
Jean-Christophe Binet

💻
Jon Salmon
Jon Salmon

💻
Karol Wrótniak
Karol Wrótniak

💻
LAIIIHZ
LAIIIHZ

💻
Mikhail Kulesh
Mikhail Kulesh

💻
Prateek Sunal
Prateek Sunal

💻
Ricardo Boss
Ricardo Boss

💻
Add your contributions

License

MIT

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

Rankings