tray_manager

Creator: coderz1093

Last updated:

0 purchases

tray_manager Image
tray_manager Images

Languages

Categories

Add to Cart

Description:

tray manager

tray_manager #

This plugin allows Flutter desktop apps to defines system tray.

English | 简体中文




tray_manager

Platform Support
Screenshots
Quick Start

Installation

Linux requirements


Usage

Listening events




Who's using it?
API

TrayManager


License




Platform Support #



Linux
macOS
Windows




✔️
✔️
✔️



Screenshots #



macOS
Linux
Windows










Quick Start #
Installation #
Add this to your package's pubspec.yaml file:
dependencies:
tray_manager: ^0.2.3
copied to clipboard
Or
dependencies:
tray_manager:
git:
url: https://github.com/leanflutter/tray_manager.git
ref: main
copied to clipboard
Linux requirements

ayatana-appindicator3-0.1 or appindicator3-0.1

Run the following command
sudo apt-get install libayatana-appindicator3-dev
copied to clipboard
Or
sudo apt-get install appindicator3-0.1 libappindicator3-dev
copied to clipboard
Usage #
import 'package:flutter/material.dart' hide MenuItem;
import 'package:tray_manager/tray_manager.dart';

await trayManager.setIcon(
Platform.isWindows
? 'images/tray_icon.ico'
: 'images/tray_icon.png',
);
Menu menu = Menu(
items: [
MenuItem(
key: 'show_window',
label: 'Show Window',
),
MenuItem.separator(),
MenuItem(
key: 'exit_app',
label: 'Exit App',
),
],
);
await trayManager.setContextMenu(menu);
copied to clipboard

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

Listening events
import 'package:flutter/material.dart';
import 'package:tray_manager/tray_manager.dart';

class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> with TrayListener {
@override
void initState() {
trayManager.addListener(this);
super.initState();
_init();
}

@override
void dispose() {
trayManager.removeListener(this);
super.dispose();
}

void _init() {
// ...
}

@override
Widget build(BuildContext context) {
// ...
}

@override
void onTrayIconMouseDown() {
// do something, for example pop up the menu
trayManager.popUpContextMenu();
}

@override
void onTrayIconRightMouseDown() {
// do something
}

@override
void onTrayIconRightMouseUp() {
// do something
}

@override
void onTrayMenuItemClick(MenuItem menuItem) {
if (menuItem.key == 'show_window') {
// do something
} else if (menuItem.key == 'exit_app') {
// do something
}
}
}
copied to clipboard
Who's using it? #

Airclap - Send any file to any device. cross platform, ultra fast and easy to use.
Biyi (比译) - A convenient translation and dictionary app.

API #
TrayManager #



Method
Description
Linux
macOS
Windows




destroy
Destroys the tray icon immediately.
✔️
✔️
✔️


setIcon
Sets the image associated with this tray icon.
✔️
✔️
✔️


setIconPosition
Sets the icon position of the tray icon.

✔️



setToolTip
Sets the hover text for this tray icon.

✔️
✔️


setContextMenu
Sets the context menu for this icon.
✔️
✔️
✔️


popUpContextMenu
Pops up the context menu of the tray icon.

✔️
✔️


getBounds
Returns Rect The bounds of this tray icon.

✔️
✔️



License #
MIT

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.