diff --git a/auth/assets/icon-light-adaptive-fg.png b/auth/assets/generation-icons/icon-light-adaptive-fg.png similarity index 100% rename from auth/assets/icon-light-adaptive-fg.png rename to auth/assets/generation-icons/icon-light-adaptive-fg.png diff --git a/auth/assets/icon-light.png b/auth/assets/generation-icons/icon-light.png similarity index 100% rename from auth/assets/icon-light.png rename to auth/assets/generation-icons/icon-light.png diff --git a/auth/assets/icon-light.ico b/auth/assets/icon-light.ico deleted file mode 100644 index 6f45f522b..000000000 Binary files a/auth/assets/icon-light.ico and /dev/null differ diff --git a/auth/assets/icons/auth-icon.ico b/auth/assets/icons/auth-icon.ico new file mode 100644 index 000000000..38bb22bcf Binary files /dev/null and b/auth/assets/icons/auth-icon.ico differ diff --git a/auth/assets/icon/auth-icon.png b/auth/assets/icons/auth-icon.png similarity index 100% rename from auth/assets/icon/auth-icon.png rename to auth/assets/icons/auth-icon.png diff --git a/auth/fdroid_flutter_icons.yaml b/auth/fdroid_flutter_icons.yaml index da327160a..0ef87effd 100644 --- a/auth/fdroid_flutter_icons.yaml +++ b/auth/fdroid_flutter_icons.yaml @@ -1,6 +1,6 @@ -flutter_icons: - android: "launcher_icon" - image_path: "assets/icon-light.png" - adaptive_icon_foreground: "assets/icon-light-adaptive-fg.png" - adaptive_icon_background: "#ffffff" - +flutter_icons: + android: "launcher_icon" + image_path: "assets/generation-icons/icon-light.png" + adaptive_icon_foreground: "assets/generation-icons/icon-light-adaptive-fg.png" + adaptive_icon_background: "#ffffff" + diff --git a/auth/lib/app/view/app.dart b/auth/lib/app/view/app.dart index 2ca5e4b3e..8ec9a6426 100644 --- a/auth/lib/app/view/app.dart +++ b/auth/lib/app/view/app.dart @@ -18,7 +18,7 @@ import 'package:ente_auth/ui/settings/app_update_dialog.dart'; import 'package:flutter/foundation.dart'; import "package:flutter/material.dart"; import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:system_tray/system_tray.dart'; +import 'package:tray_manager/tray_manager.dart'; import 'package:window_manager/window_manager.dart'; class App extends StatefulWidget { @@ -34,7 +34,7 @@ class App extends StatefulWidget { State createState() => _AppState(); } -class _AppState extends State with WindowListener { +class _AppState extends State with WindowListener, TrayListener { late StreamSubscription _signedOutEvent; late StreamSubscription _signedInEvent; Locale? locale; @@ -49,9 +49,15 @@ class _AppState extends State with WindowListener { await windowManager.setPreventClose(true); } + Future initTrayManager() async { + trayManager.addListener(this); + } + @override void initState() { initWindowManager(); + initTrayManager(); + _signedOutEvent = Bus.instance.on().listen((event) { if (mounted) { setState(() {}); @@ -85,7 +91,10 @@ class _AppState extends State with WindowListener { @override void dispose() { super.dispose(); + windowManager.removeListener(this); + trayManager.removeListener(this); + _signedOutEvent.cancel(); _signedInEvent.cancel(); } @@ -147,12 +156,42 @@ class _AppState extends State with WindowListener { @override void onWindowClose() async { - final AppWindow appWindow = AppWindow(); - await appWindow.hide(); + await windowManager.hide(); } @override void onWindowResize() { WindowListenerService.instance.onWindowResize().ignore(); } + + @override + void onTrayIconMouseDown() { + if (Platform.isWindows) { + windowManager.show(); + } else { + trayManager.popUpContextMenu(); + } + } + + @override + void onTrayIconRightMouseDown() { + if (Platform.isWindows) { + trayManager.popUpContextMenu(); + } else { + windowManager.show(); + } + } + + @override + void onTrayIconRightMouseUp() {} + + @override + void onTrayMenuItemClick(MenuItem menuItem) { + if (menuItem.key == 'show_window') { + windowManager.show(); + } else if (menuItem.key == 'exit_app') { + windowManager.setPreventClose(false); + windowManager.close(); + } + } } diff --git a/auth/lib/main.dart b/auth/lib/main.dart index 3514472f5..f475a5598 100644 --- a/auth/lib/main.dart +++ b/auth/lib/main.dart @@ -31,42 +31,30 @@ import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:logging/logging.dart'; import 'package:path_provider/path_provider.dart'; import 'package:privacy_screen/privacy_screen.dart'; -import 'package:system_tray/system_tray.dart'; +import 'package:tray_manager/tray_manager.dart'; import 'package:window_manager/window_manager.dart'; final _logger = Logger("main"); Future initSystemTray() async { - String path = - Platform.isWindows ? 'assets/icon-light.ico' : 'assets/icon-light.png'; - - final AppWindow appWindow = AppWindow(); - final SystemTray systemTray = SystemTray(); - - // We first init the systray menu - await systemTray.initSystemTray( - title: "", - iconPath: path, + String path = Platform.isWindows + ? 'assets/icons/auth-icon.ico' + : 'assets/icons/auth-icon.png'; + await trayManager.setIcon(path); + Menu menu = Menu( + items: [ + MenuItem( + key: 'show_window', + label: 'Show Window', + ), + MenuItem.separator(), + MenuItem( + key: 'exit_app', + label: 'Exit App', + ), + ], ); - - // create context menu - final show = MenuItem(label: 'Show', onClicked: () => appWindow.show()); - final hide = MenuItem(label: 'Hide', onClicked: () => appWindow.hide()); - final exit = MenuItem(label: 'Exit', onClicked: () => appWindow.close()); - - // set context menu - await systemTray.setContextMenu([show, hide, exit]); - - const kSystemTrayEventClick = 'leftMouseDown'; - const kSystemTrayEventRightClick = 'rightMouseDown'; - // // handle system tray event - systemTray.registerSystemTrayEventHandler((eventName) { - if (eventName == kSystemTrayEventClick) { - Platform.isWindows ? appWindow.show() : systemTray.popUpContextMenu(); - } else if (eventName == kSystemTrayEventRightClick) { - Platform.isWindows ? systemTray.popUpContextMenu() : appWindow.show(); - } - }); + await trayManager.setContextMenu(menu); } void main() async { diff --git a/auth/lib/utils/auth_util.dart b/auth/lib/utils/auth_util.dart index b543b4c73..c2d2f5afa 100644 --- a/auth/lib/utils/auth_util.dart +++ b/auth/lib/utils/auth_util.dart @@ -5,7 +5,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter_local_authentication/flutter_local_authentication.dart'; import 'package:local_auth/local_auth.dart'; import 'package:local_auth_android/local_auth_android.dart'; -import 'package:local_auth_ios/types/auth_messages_ios.dart'; +import 'package:local_auth_darwin/types/auth_messages_ios.dart'; import 'package:logging/logging.dart'; Future requestAuthentication(BuildContext context, String reason) async { diff --git a/auth/linux/flutter/generated_plugin_registrant.cc b/auth/linux/flutter/generated_plugin_registrant.cc index 0bbf397b0..bcc3b982d 100644 --- a/auth/linux/flutter/generated_plugin_registrant.cc +++ b/auth/linux/flutter/generated_plugin_registrant.cc @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include @@ -51,9 +51,9 @@ void fl_register_plugins(FlPluginRegistry* registry) { g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); - g_autoptr(FlPluginRegistrar) system_tray_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "SystemTrayPlugin"); - system_tray_plugin_register_with_registrar(system_tray_registrar); + g_autoptr(FlPluginRegistrar) tray_manager_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "TrayManagerPlugin"); + tray_manager_plugin_register_with_registrar(tray_manager_registrar); g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); diff --git a/auth/linux/flutter/generated_plugins.cmake b/auth/linux/flutter/generated_plugins.cmake index 0f2c32b0a..c6aab9a95 100644 --- a/auth/linux/flutter/generated_plugins.cmake +++ b/auth/linux/flutter/generated_plugins.cmake @@ -13,7 +13,7 @@ list(APPEND FLUTTER_PLUGIN_LIST smart_auth sodium_libs sqlite3_flutter_libs - system_tray + tray_manager url_launcher_linux window_manager ) diff --git a/auth/linux/packaging/appimage/make_config.yaml b/auth/linux/packaging/appimage/make_config.yaml index ad9553980..7641094ab 100644 --- a/auth/linux/packaging/appimage/make_config.yaml +++ b/auth/linux/packaging/appimage/make_config.yaml @@ -1,26 +1,26 @@ -display_name: Auth -license: GPLv3 - -icon: assets/icon/auth-icon.png - -keywords: - - Authentication - - 2FA - -generic_name: ente Auth - -categories: - - Utility - -startup_notify: false - -# You can specify the shared libraries that you want to bundle with your app -# -# flutter_distributor automatically detects the shared libraries that your app -# depends on, but you can also specify them manually here. -# -# The following example shows how to bundle the libcurl library with your app. -# -# include: -# - libcurl.so.4 -include: [] +display_name: Auth +license: GPLv3 + +icon: assets/icons/auth-icon.png + +keywords: + - Authentication + - 2FA + +generic_name: ente Auth + +categories: + - Utility + +startup_notify: false + +# You can specify the shared libraries that you want to bundle with your app +# +# flutter_distributor automatically detects the shared libraries that your app +# depends on, but you can also specify them manually here. +# +# The following example shows how to bundle the libcurl library with your app. +# +# include: +# - libcurl.so.4 +include: [] diff --git a/auth/linux/packaging/deb/make_config.yaml b/auth/linux/packaging/deb/make_config.yaml index c5335f15a..93f54e472 100644 --- a/auth/linux/packaging/deb/make_config.yaml +++ b/auth/linux/packaging/deb/make_config.yaml @@ -1,34 +1,34 @@ -display_name: Auth -package_name: auth -maintainer: - name: Ente.io Developers - email: human@ente.io -priority: optional -section: x11 -essential: false -license: GPLv3 -icon: assets/icon/auth-icon.png -installed_size: 36000 - -dependencies: - - libwebkit2gtk-4.0-37 - - libsqlite3-0 - - libsodium23 - - libsecret-1-0 - - libappindicator3-1 | libayatana-appindicator3-1 - - gir1.2-appindicator3-0.1 | gir1.2-ayatanaappindicator3-0.1 - - libayatana-ido3-0.4-0 - -keywords: - - Authentication - - 2FA - -generic_name: Ente Authentication - -categories: - - Utility - -startup_notify: false - -supported_mime_type: - - x-scheme-handler/ente +display_name: Auth +package_name: auth +maintainer: + name: Ente.io Developers + email: human@ente.io +priority: optional +section: x11 +essential: false +license: GPLv3 +icon: assets/icons/auth-icon.png +installed_size: 36000 + +dependencies: + - libwebkit2gtk-4.0-37 + - libsqlite3-0 + - libsodium23 + - libsecret-1-0 + - libappindicator3-1 | libayatana-appindicator3-1 + - gir1.2-appindicator3-0.1 | gir1.2-ayatanaappindicator3-0.1 + - libayatana-ido3-0.4-0 + +keywords: + - Authentication + - 2FA + +generic_name: Ente Authentication + +categories: + - Utility + +startup_notify: false + +supported_mime_type: + - x-scheme-handler/ente diff --git a/auth/linux/packaging/rpm/make_config.yaml b/auth/linux/packaging/rpm/make_config.yaml index a345da361..2b1a6a7fe 100644 --- a/auth/linux/packaging/rpm/make_config.yaml +++ b/auth/linux/packaging/rpm/make_config.yaml @@ -1,31 +1,31 @@ -icon: assets/icon/auth-icon.png -summary: 2FA app with free end-to-end encrypted backup and sync -group: Application/Utility -vendor: Ente.io -packager: Ente.io Developers -packagerEmail: human@ente.io -license: GPLv3 -url: https://github.com/ente-io/ente - -display_name: Auth - -dependencies: - - libsqlite3x - - webkit2gtk-4.0 - - libsodium - - libsecret - - libappindicator - -keywords: - - Authentication - - 2FA - -generic_name: Ente Authentication - -categories: - - Utility - -startup_notify: false - -supported_mime_type: - - x-scheme-handler/ente +icon: assets/icons/auth-icon.png +summary: 2FA app with free end-to-end encrypted backup and sync +group: Application/Utility +vendor: Ente.io +packager: Ente.io Developers +packagerEmail: human@ente.io +license: GPLv3 +url: https://github.com/ente-io/ente + +display_name: Auth + +dependencies: + - libsqlite3x + - webkit2gtk-4.0 + - libsodium + - libsecret + - libappindicator + +keywords: + - Authentication + - 2FA + +generic_name: Ente Authentication + +categories: + - Utility + +startup_notify: false + +supported_mime_type: + - x-scheme-handler/ente diff --git a/auth/macos/Flutter/GeneratedPluginRegistrant.swift b/auth/macos/Flutter/GeneratedPluginRegistrant.swift index 509bf6674..68c59c25a 100644 --- a/auth/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/auth/macos/Flutter/GeneratedPluginRegistrant.swift @@ -24,7 +24,7 @@ import smart_auth import sodium_libs import sqflite import sqlite3_flutter_libs -import system_tray +import tray_manager import url_launcher_macos import window_manager @@ -48,7 +48,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { SodiumLibsPlugin.register(with: registry.registrar(forPlugin: "SodiumLibsPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) - SystemTrayPlugin.register(with: registry.registrar(forPlugin: "SystemTrayPlugin")) + TrayManagerPlugin.register(with: registry.registrar(forPlugin: "TrayManagerPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) } diff --git a/auth/macos/packaging/dmg/make_config.yaml b/auth/macos/packaging/dmg/make_config.yaml index 5cbffbec8..924be2c30 100644 --- a/auth/macos/packaging/dmg/make_config.yaml +++ b/auth/macos/packaging/dmg/make_config.yaml @@ -1,11 +1,11 @@ -title: Auth -icon: ../../../assets/icon/auth-icon.png -contents: - - x: 448 - y: 344 - type: link - path: "/Applications" - - x: 192 - y: 344 - type: file - path: ente Auth.app +title: Auth +icon: ../../../assets/icons/auth-icon.png +contents: + - x: 448 + y: 344 + type: link + path: "/Applications" + - x: 192 + y: 344 + type: file + path: ente Auth.app diff --git a/auth/pubspec.lock b/auth/pubspec.lock index 66ef40e2a..1472c808c 100644 --- a/auth/pubspec.lock +++ b/auth/pubspec.lock @@ -858,21 +858,13 @@ packages: source: hosted version: "1.0.37" local_auth_darwin: - dependency: transitive + dependency: "direct main" description: name: local_auth_darwin sha256: "33381a15b0de2279523eca694089393bb146baebdce72a404555d03174ebc1e9" url: "https://pub.dev" source: hosted version: "1.2.2" - local_auth_ios: - dependency: "direct main" - description: - name: local_auth_ios - sha256: "6dde47dc852bc0c8343cb58e66a46efb16b62eddf389ce103d4dacb0c6c40c71" - url: "https://pub.dev" - source: hosted - version: "1.1.7" local_auth_platform_interface: dependency: transitive description: @@ -913,6 +905,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.8.0" + menu_base: + dependency: transitive + description: + name: menu_base + sha256: "820368014a171bd1241030278e6c2617354f492f5c703d7b7d4570a6b8b84405" + url: "https://pub.dev" + source: hosted + version: "0.1.1" meta: dependency: transitive description: @@ -1305,6 +1305,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.4" + shortid: + dependency: transitive + description: + name: shortid + sha256: d0b40e3dbb50497dad107e19c54ca7de0d1a274eb9b4404991e443dadb9ebedb + url: "https://pub.dev" + source: hosted + version: "0.1.2" sky_engine: dependency: transitive description: flutter @@ -1463,14 +1471,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0+1" - system_tray: - dependency: "direct main" - description: - name: system_tray - sha256: "1bcc11bc230033be20d7443c29f65f68d67169715a838a1122f20fbff5dd2d19" - url: "https://pub.dev" - source: hosted - version: "0.1.1" term_glyph: dependency: transitive description: @@ -1503,6 +1503,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.1" + tray_manager: + dependency: "direct main" + description: + name: tray_manager + sha256: "4ab709d70a4374af172f8c39e018db33a4271265549c6fc9d269a65e5f4b0225" + url: "https://pub.dev" + source: hosted + version: "0.2.1" tuple: dependency: "direct main" description: diff --git a/auth/pubspec.yaml b/auth/pubspec.yaml index 6d76952cd..c7905ecef 100644 --- a/auth/pubspec.yaml +++ b/auth/pubspec.yaml @@ -1,6 +1,6 @@ name: ente_auth description: ente two-factor authenticator -version: 2.0.46+246 +version: 2.0.47+247 publish_to: none environment: @@ -63,9 +63,9 @@ dependencies: http: ^1.1.0 intl: ^0.18.0 json_annotation: ^4.5.0 - local_auth: ^2.1.7 - local_auth_android: ^1.0.31 - local_auth_ios: ^1.1.3 + local_auth: ^2.2.0 + local_auth_android: ^1.0.37 + local_auth_darwin: ^1.2.2 logging: ^1.0.1 modal_bottom_sheet: ^3.0.0-pre move_to_background: ^1.0.2 @@ -93,7 +93,7 @@ dependencies: sqlite3_flutter_libs: ^0.5.19+1 step_progress_indicator: ^1.0.2 styled_text: ^8.1.0 - system_tray: ^0.1.1 + tray_manager: ^0.2.1 tuple: ^2.0.0 url_launcher: ^6.1.5 uuid: ^4.2.2 @@ -122,6 +122,7 @@ flutter: # https://docs:flutter:dev/development/ui/assets-and-images: assets: - assets/ + - assets/icons/ - assets/simple-icons/icons/ - assets/simple-icons/_data/ - assets/custom-icons/icons/ @@ -141,10 +142,10 @@ flutter: flutter_icons: android: "launcher_icon" - adaptive_icon_foreground: "assets/icon-light-adaptive-fg.png" + adaptive_icon_foreground: "assets/generation-icons/icon-light-adaptive-fg.png" adaptive_icon_background: "#ffffff" ios: true - image_path: "assets/icon-light.png" + image_path: "assets/generation-icons/icon-light.png" remove_alpha_ios: true flutter_native_splash: diff --git a/auth/windows/flutter/generated_plugin_registrant.cc b/auth/windows/flutter/generated_plugin_registrant.cc index aed85fbff..4184d5485 100644 --- a/auth/windows/flutter/generated_plugin_registrant.cc +++ b/auth/windows/flutter/generated_plugin_registrant.cc @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include @@ -50,8 +50,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("SodiumLibsPluginCApi")); Sqlite3FlutterLibsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); - SystemTrayPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("SystemTrayPlugin")); + TrayManagerPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("TrayManagerPlugin")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); WindowManagerPluginRegisterWithRegistrar( diff --git a/auth/windows/flutter/generated_plugins.cmake b/auth/windows/flutter/generated_plugins.cmake index 2578d34e2..a2c679c88 100644 --- a/auth/windows/flutter/generated_plugins.cmake +++ b/auth/windows/flutter/generated_plugins.cmake @@ -16,7 +16,7 @@ list(APPEND FLUTTER_PLUGIN_LIST smart_auth sodium_libs sqlite3_flutter_libs - system_tray + tray_manager url_launcher_windows window_manager ) diff --git a/auth/windows/packaging/exe/inno_setup.iss b/auth/windows/packaging/exe/inno_setup.iss new file mode 100644 index 000000000..6f47352f4 --- /dev/null +++ b/auth/windows/packaging/exe/inno_setup.iss @@ -0,0 +1,62 @@ +[Setup] +AppId={{APP_ID}} +AppVersion={{APP_VERSION}} +AppName={{DISPLAY_NAME}} +AppPublisher={{PUBLISHER_NAME}} +AppPublisherURL={{PUBLISHER_URL}} +AppSupportURL={{PUBLISHER_URL}} +AppUpdatesURL={{PUBLISHER_URL}} +DefaultDirName={{INSTALL_DIR_NAME}} +DisableProgramGroupPage=yes +OutputDir=. +OutputBaseFilename={{OUTPUT_BASE_FILENAME}} +Compression=lzma +SolidCompression=yes +SetupIconFile={{SETUP_ICON_FILE}} +WizardStyle=modern +PrivilegesRequired={{PRIVILEGES_REQUIRED}} +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 + +[Languages] +{% for locale in LOCALES %} +{% if locale == 'en' %}Name: "english"; MessagesFile: "compiler:Default.isl"{% endif %} +{% if locale == 'hy' %}Name: "armenian"; MessagesFile: "compiler:Languages\\Armenian.isl"{% endif %} +{% if locale == 'bg' %}Name: "bulgarian"; MessagesFile: "compiler:Languages\\Bulgarian.isl"{% endif %} +{% if locale == 'ca' %}Name: "catalan"; MessagesFile: "compiler:Languages\\Catalan.isl"{% endif %} +{% if locale == 'zh' %}Name: "chinesesimplified"; MessagesFile: "compiler:Languages\\ChineseSimplified.isl"{% endif %} +{% if locale == 'co' %}Name: "corsican"; MessagesFile: "compiler:Languages\\Corsican.isl"{% endif %} +{% if locale == 'cs' %}Name: "czech"; MessagesFile: "compiler:Languages\\Czech.isl"{% endif %} +{% if locale == 'da' %}Name: "danish"; MessagesFile: "compiler:Languages\\Danish.isl"{% endif %} +{% if locale == 'nl' %}Name: "dutch"; MessagesFile: "compiler:Languages\\Dutch.isl"{% endif %} +{% if locale == 'fi' %}Name: "finnish"; MessagesFile: "compiler:Languages\\Finnish.isl"{% endif %} +{% if locale == 'fr' %}Name: "french"; MessagesFile: "compiler:Languages\\French.isl"{% endif %} +{% if locale == 'de' %}Name: "german"; MessagesFile: "compiler:Languages\\German.isl"{% endif %} +{% if locale == 'he' %}Name: "hebrew"; MessagesFile: "compiler:Languages\\Hebrew.isl"{% endif %} +{% if locale == 'is' %}Name: "icelandic"; MessagesFile: "compiler:Languages\\Icelandic.isl"{% endif %} +{% if locale == 'it' %}Name: "italian"; MessagesFile: "compiler:Languages\\Italian.isl"{% endif %} +{% if locale == 'ja' %}Name: "japanese"; MessagesFile: "compiler:Languages\\Japanese.isl"{% endif %} +{% if locale == 'no' %}Name: "norwegian"; MessagesFile: "compiler:Languages\\Norwegian.isl"{% endif %} +{% if locale == 'pl' %}Name: "polish"; MessagesFile: "compiler:Languages\\Polish.isl"{% endif %} +{% if locale == 'pt' %}Name: "portuguese"; MessagesFile: "compiler:Languages\\Portuguese.isl"{% endif %} +{% if locale == 'ru' %}Name: "russian"; MessagesFile: "compiler:Languages\\Russian.isl"{% endif %} +{% if locale == 'sk' %}Name: "slovak"; MessagesFile: "compiler:Languages\\Slovak.isl"{% endif %} +{% if locale == 'sl' %}Name: "slovenian"; MessagesFile: "compiler:Languages\\Slovenian.isl"{% endif %} +{% if locale == 'es' %}Name: "spanish"; MessagesFile: "compiler:Languages\\Spanish.isl"{% endif %} +{% if locale == 'tr' %}Name: "turkish"; MessagesFile: "compiler:Languages\\Turkish.isl"{% endif %} +{% if locale == 'uk' %}Name: "ukrainian"; MessagesFile: "compiler:Languages\\Ukrainian.isl"{% endif %} +{% endfor %} + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: {% if CREATE_DESKTOP_ICON != true %}unchecked{% else %}checkedonce{% endif %} +Name: "launchAtStartup"; Description: "{cm:AutoStartProgram,{{DISPLAY_NAME}}}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: {% if LAUNCH_AT_STARTUP != true %}unchecked{% else %}checkedonce{% endif %} +[Files] +Source: "{{SOURCE_DIR}}\\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{autoprograms}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}" +Name: "{autodesktop}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}"; Tasks: desktopicon +Name: "{userstartup}\\{{DISPLAY_NAME}}"; Filename: "{app}\\{{EXECUTABLE_NAME}}"; WorkingDir: "{app}"; Tasks: launchAtStartup +[Run] +Filename: "{app}\\{{EXECUTABLE_NAME}}"; Description: "{cm:LaunchProgram,{{DISPLAY_NAME}}}"; Flags: {% if PRIVILEGES_REQUIRED == 'admin' %}runascurrentuser{% endif %} nowait postinstall skipifsilent diff --git a/auth/windows/packaging/exe/make_config.yaml b/auth/windows/packaging/exe/make_config.yaml index 35b973292..3d214460b 100644 --- a/auth/windows/packaging/exe/make_config.yaml +++ b/auth/windows/packaging/exe/make_config.yaml @@ -1,8 +1,10 @@ -app_id: 9E5F0C93-96A3-4DA9-AE52-1AA6339851FC -publisher: ente.io -publisher_url: https://github.com/ente-io/ente -display_name: ente Auth -create_desktop_icon: true -install_dir_name: enteauth -locales: - - en +app_id: 9E5F0C93-96A3-4DA9-AE52-1AA6339851FC +publisher: ente.io +publisher_url: https://github.com/ente-io/ente +display_name: ente Auth +create_desktop_icon: false +install_dir_name: "{pf}\\Ente Auth" +setup_icon_file: ../../assets/icons/auth-icon.ico +script_template: inno_setup.iss +locales: + - en