diff --git a/lib/controllers/notification.dart b/lib/controllers/notification.dart index abef40c..7c40d18 100644 --- a/lib/controllers/notification.dart +++ b/lib/controllers/notification.dart @@ -3,8 +3,6 @@ import "dart:io"; import "package:material_ui/material_ui.dart"; import "package:nexus/main.dart"; import "package:flutter_local_notifications/flutter_local_notifications.dart"; -// ignore: implementation_imports -import "package:flutter_local_notifications_linux/src/model/hint.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:nexus/pages/notifications.dart"; @@ -91,14 +89,9 @@ class NotificationController largeIcon: icon == null ? null : FilePathAndroidBitmap(icon.path), ), linux: .new( - customHints: icon == null - ? null - : [ - .new( - name: "image-path", - value: LinuxHintStringValue(icon.path), - ), - ], + category: LinuxNotificationCategory.imReceived, + defaultActionName: "app.event", + icon: icon == null ? null : FilePathLinuxIcon(icon.path), ), // TODO: See if icons can be added to iOS, macOS, and Windows notifications (#68) iOS: .new(), diff --git a/linux/nexus.federated.nexus.desktop b/linux/nexus.federated.nexus.desktop index d61734e..ac01719 100644 --- a/linux/nexus.federated.nexus.desktop +++ b/linux/nexus.federated.nexus.desktop @@ -7,4 +7,7 @@ Icon=nexus Terminal=false Type=Application Categories=Chat;Network;InstantMessaging; -MimeType=x-scheme-handler/nexus.federated.nexus; \ No newline at end of file +MimeType=x-scheme-handler/nexus.federated.nexus; +StartupNotify=true +DBusActivatable=true +X-GNOME-UsesNotifications=true \ No newline at end of file diff --git a/linux/nexus.federated.nexus.service b/linux/nexus.federated.nexus.service new file mode 100644 index 0000000..65e2e79 --- /dev/null +++ b/linux/nexus.federated.nexus.service @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=nexus.federated.nexus +Exec=/usr/bin/env FLUTTER_HEADLESS=1 nexus diff --git a/linux/nix/pkg/default.nix b/linux/nix/pkg/default.nix index 36974ed..f42d893 100644 --- a/linux/nix/pkg/default.nix +++ b/linux/nix/pkg/default.nix @@ -34,6 +34,8 @@ flutter.buildFlutterApplication { navigation_rail_m3e = "sha256-+2awDTQnK58gGRY1nuHckG/jjxarsYSRu9ovR4i4TEc="; unifiedpush_linux = "sha256-aIF/8oabSuuZo7K6qr4r7UBmf57qgoGAXyJ40fdntuQ="; unifiedpush_platform_interface = "sha256-aIF/8oabSuuZo7K6qr4r7UBmf57qgoGAXyJ40fdntuQ="; + flutter_local_notifications_linux = "sha256-I1X+Taw4+hxDHOUxCcqiWoJbZJqbrdVUXUC0vj1Adjc="; + flutter_local_notifications_platform_interface = "sha256-I1X+Taw4+hxDHOUxCcqiWoJbZJqbrdVUXUC0vj1Adjc="; }; postInstall = '' diff --git a/pubspec.lock b/pubspec.lock index a914165..278d3b4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -497,19 +497,21 @@ packages: flutter_local_notifications_linux: dependency: "direct main" description: - name: flutter_local_notifications_linux - sha256: "9ca97e63776f29ab1b955725c09999fc2c150523269db150c39274f2a43c5a8b" - url: "https://pub.dev" - source: hosted - version: "8.0.1" + path: flutter_local_notifications_linux + ref: "quad/feat/xdg-portal-notifs" + resolved-ref: d853ff4997f6dd2b9ecdc53d37fb337cebe63863 + url: "https://github.com/Henry-Hiles/flutter_local_notifications" + source: git + version: "9.0.0-dev.1" flutter_local_notifications_platform_interface: - dependency: transitive + dependency: "direct overridden" description: - name: flutter_local_notifications_platform_interface - sha256: "43c3761d916c9bd3d5c7ebbc44d82f4990329840c0c5d62ad5260cc1b5d399bd" - url: "https://pub.dev" - source: hosted - version: "12.2.0" + path: flutter_local_notifications_platform_interface + ref: "quad/feat/xdg-portal-notifs" + resolved-ref: d853ff4997f6dd2b9ecdc53d37fb337cebe63863 + url: "https://github.com/Henry-Hiles/flutter_local_notifications" + source: git + version: "13.0.0-dev.1" flutter_local_notifications_web: dependency: transitive description: @@ -1742,6 +1744,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.2" + xdg_desktop_portal: + dependency: transitive + description: + name: xdg_desktop_portal + sha256: "4fae74b6ed63a449d4c796a74265cebdd912c390336dedc06d705142f3b939d7" + url: "https://pub.dev" + source: hosted + version: "0.1.14" xdg_directories: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 332efaf..2a2b2ff 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -35,6 +35,16 @@ dependency_overrides: git: url: https://github.com/appelladev/linkify ref: fix/consecutive-periods-loose-url + flutter_local_notifications_linux: + git: + url: https://github.com/Henry-Hiles/flutter_local_notifications + ref: quad/feat/xdg-portal-notifs + path: flutter_local_notifications_linux + flutter_local_notifications_platform_interface: + git: + url: https://github.com/Henry-Hiles/flutter_local_notifications + ref: quad/feat/xdg-portal-notifs + path: flutter_local_notifications_platform_interface dependencies: flutter: