diff --git a/lib/controllers/notification.dart b/lib/controllers/notification.dart index abef40c..958c51a 100644 --- a/lib/controllers/notification.dart +++ b/lib/controllers/notification.dart @@ -98,6 +98,10 @@ class NotificationController name: "image-path", value: LinuxHintStringValue(icon.path), ), + .new( + name: "desktop-entry", + value: LinuxHintStringValue("nexus.federated.nexus"), + ), ], ), // TODO: See if icons can be added to iOS, macOS, and Windows notifications (#68) diff --git a/lib/controllers/unified_push.dart b/lib/controllers/unified_push.dart index ae31cac..7dbc386 100644 --- a/lib/controllers/unified_push.dart +++ b/lib/controllers/unified_push.dart @@ -121,7 +121,7 @@ class UnifiedPushController extends AsyncNotifier { Future register([bool alreadyRegistered = false]) async { final clientState = ref.watch(ClientStateController.provider); - if (clientState?.deviceId == null) ref.invalidateSelf(); + if (clientState?.deviceId == null) return ref.invalidateSelf(); final capabilities = await ref .watch(ClientController.provider.notifier) diff --git a/linux/nexus.federated.nexus.desktop b/linux/nexus.federated.nexus.desktop index d61734e..1a5196f 100644 --- a/linux/nexus.federated.nexus.desktop +++ b/linux/nexus.federated.nexus.desktop @@ -6,5 +6,6 @@ Exec=nexus %u Icon=nexus Terminal=false Type=Application +DBusActivatable=true Categories=Chat;Network;InstantMessaging; MimeType=x-scheme-handler/nexus.federated.nexus; \ No newline at end of file diff --git a/linux/nexus.federated.nexus.service b/linux/nexus.federated.nexus.service deleted file mode 100644 index 1757c2c..0000000 --- a/linux/nexus.federated.nexus.service +++ /dev/null @@ -1,3 +0,0 @@ -[D-BUS Service] -Name=nexus.federated.nexus -Exec=/usr/bin/env nexus diff --git a/linux/nix/pkg/default.nix b/linux/nix/pkg/default.nix index 36974ed..6040287 100644 --- a/linux/nix/pkg/default.nix +++ b/linux/nix/pkg/default.nix @@ -39,7 +39,7 @@ flutter.buildFlutterApplication { postInstall = '' install -D assets/bundled/icon.svg $out/share/icons/hicolor/scalable/apps/nexus.svg install -Dm755 linux/nexus.federated.nexus.desktop -t $out/share/applications - install -Dm644 linux/*.service -t $out/share/dbus-1/services + install -Dm644 linux/nexus.federated.nexus.UnifiedPush.service -t $out/share/dbus-1/services wrapProgram $out/bin/nexus \ --suffix LD_LIBRARY_PATH : $out/app/nexus/lib '';