showNotification method

void showNotification({
  1. required String title,
  2. String content = 'content',
  3. String? icon,
  4. String? appName,
  5. int? notificationId,
  6. Duration timeout = const Duration(milliseconds: 2000),
  7. NotiUrgency level = NotiUrgency.normal,
})

Implementation

void showNotification({
  required String title,
  String content = 'content',
  String? icon,
  String? appName,
  int? notificationId,
  Duration timeout = const Duration(milliseconds: 2000),
  NotiUrgency level = NotiUrgency.normal,
}) {
  try {
    final list = [
      "--urgency", level.name, // urgency: low, normal, critical
      "--expire-time", timeout.inMilliseconds.toString(), // timeout in ms
    ];
    if (icon != null) {
      list.add('--icon');
      list.add(icon);
    }
    if (notificationId != null) {
      list.add('--replace-id');
      list.add(notificationId.toString());
    }

    if (appName != null) {
      list.add('--app-name');
      list.add(appName);
    }
    list.add(title);
    list.add(content);

    Process.run('notify-send', list);
  } catch (e) {
    debugPrint(e.toString());
  }
}