setIcon method
Future<void>
setIcon(
- String iconPath, {
- bool isTemplate = false,
- TrayIconPosition iconPosition = TrayIconPosition.left,
- int iconSize = 18,
Implementation
Future<void> setIcon(
String iconPath, {
bool isTemplate = false,
TrayIconPosition iconPosition = TrayIconPosition.left,
int iconSize = 18,
}) async {
final icon = iconPath.startsWith('data:image/')
? nativeapi.Image.fromBase64(iconPath)
: nativeapi.ImageAsset.fromAsset(iconPath) ??
nativeapi.Image.fromFile(iconPath) ??
_fromLinuxIconName(iconPath);
if (icon == null) {
throw ArgumentError.value(
iconPath,
'iconPath',
'Unable to load tray icon',
);
}
// macOS only, as before; the other platforms record the values.
_ensureTrayIcon
..isIconTemplate = isTemplate
..iconSize = Size.square(iconSize.toDouble())
..iconPosition = _nativePosition(iconPosition)
..icon = icon
..setVisible(true);
_icon?.dispose();
_icon = icon;
}