diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 904c04ae..033cbc17 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - countly_flutter (23.12.1): + - countly_flutter (24.4.0): - Flutter - file_picker (0.0.1): - Flutter @@ -15,6 +15,8 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter - plain_notification_token (0.0.1): - Flutter - r_upgrade (0.0.1): @@ -38,6 +40,7 @@ DEPENDENCIES: - icloud_storage (from `.symlinks/plugins/icloud_storage/ios`) - local_auth_ios (from `.symlinks/plugins/local_auth_ios/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - plain_notification_token (from `.symlinks/plugins/plain_notification_token/ios`) - r_upgrade (from `.symlinks/plugins/r_upgrade/ios`) - share_plus (from `.symlinks/plugins/share_plus/ios`) @@ -62,6 +65,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/local_auth_ios/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" plain_notification_token: :path: ".symlinks/plugins/plain_notification_token/ios" r_upgrade: @@ -76,17 +81,18 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/watch_connectivity/ios" SPEC CHECKSUMS: - countly_flutter: 0b87be283b3ecef341b5f8d45ff97dd33ee966b9 - file_picker: 880e54928ebe4aa405aaf4577f29a76a078341c6 + countly_flutter: 5d2febe00242796cf569662e5d47da241f31b115 + file_picker: c79185e70b9b45728cde2a8d8da454e0cb43f287 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_background_service_ios: e30e0d3ee69e4cee66272d0c78eacd48c2e94aac flutter_native_splash: 52501b97d1c0a5f898d687f1646226c1f93c56ef icloud_storage: d9ac7a33ced81df08ba7ea1bf3099cc0ee58f60a local_auth_ios: 5046a18c018dd973247a0564496c8898dbb5adf9 path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 plain_notification_token: b36467dc91939a7b6754267c701bbaca14996ee1 r_upgrade: 44d715c61914cce3d01ea225abffe894fd51c114 - share_plus: c3fef564749587fc939ef86ffb283ceac0baf9f5 + share_plus: 8875f4f2500512ea181eef553c3e27dba5135aad shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 watch_connectivity: 715eb484685e05846eab74795348a44bb2809b82 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 33cdf756..fb183931 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -672,7 +672,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -682,7 +682,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -808,7 +808,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -818,7 +818,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -836,7 +836,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_BITCODE = NO; INFOPLIST_FILE = "Runner/Info-$(CONFIGURATION).plist"; @@ -846,7 +846,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -867,7 +867,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -880,7 +880,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; @@ -906,7 +906,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -919,7 +919,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -942,7 +942,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; GCC_C_LANGUAGE_STANDARD = gnu11; GENERATE_INFOPLIST_FILE = YES; @@ -955,7 +955,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.StatusWidget; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -978,7 +978,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -990,7 +990,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; @@ -1019,7 +1019,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -1031,7 +1031,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; @@ -1057,7 +1057,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_ASSET_PATHS = ""; DEVELOPMENT_TEAM = BA88US33G6; ENABLE_PREVIEWS = YES; @@ -1069,7 +1069,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox.WatchEnd; PRODUCT_NAME = ServerBox; diff --git a/lib/data/res/build_data.dart b/lib/data/res/build_data.dart index cc9a8e07..1a495149 100644 --- a/lib/data/res/build_data.dart +++ b/lib/data/res/build_data.dart @@ -2,9 +2,9 @@ class BuildData { static const String name = "ServerBox"; - static const int build = 867; - static const String engine = "3.19.5"; - static const String buildAt = "2024-04-21 01:05:20"; - static const int modifications = 2; + static const int build = 868; + static const String engine = "3.19.6"; + static const String buildAt = "2024-04-22 18:23:32"; + static const int modifications = 5; static const int script = 45; } diff --git a/lib/data/res/terminal.dart b/lib/data/res/terminal.dart index 5eb8f88c..8a6a66ba 100644 --- a/lib/data/res/terminal.dart +++ b/lib/data/res/terminal.dart @@ -4,6 +4,7 @@ import 'package:xterm/ui.dart'; abstract final class TerminalThemes { static const dark = TerminalTheme( cursor: Color.fromARGB(137, 174, 175, 173), + selectionCursor: Color(0xff8b2252), selection: Color.fromARGB(147, 174, 175, 173), foreground: Color(0XFFCCCCCC), background: Colors.black, @@ -29,6 +30,7 @@ abstract final class TerminalThemes { ); static const light = TerminalTheme( cursor: Color.fromARGB(153, 174, 175, 173), + selectionCursor: Color(0xff8b2252), selection: Color.fromARGB(102, 174, 175, 173), foreground: Color(0XFF000000), background: Color(0XFFFFFFFF), @@ -53,3 +55,60 @@ abstract final class TerminalThemes { black: Colors.black, ); } + +extension TerminalThemeX on TerminalTheme { + TerminalTheme copyWith({ + Color? cursor, + Color? selectionCursor, + Color? selection, + Color? foreground, + Color? background, + Color? searchHitBackground, + Color? searchHitBackgroundCurrent, + Color? searchHitForeground, + Color? red, + Color? green, + Color? yellow, + Color? blue, + Color? magenta, + Color? cyan, + Color? white, + Color? brightBlack, + Color? brightRed, + Color? brightGreen, + Color? brightYellow, + Color? brightBlue, + Color? brightMagenta, + Color? brightCyan, + Color? brightWhite, + Color? black, + }) { + return TerminalTheme( + cursor: cursor ?? this.cursor, + selectionCursor: selectionCursor ?? this.selectionCursor, + selection: selection ?? this.selection, + foreground: foreground ?? this.foreground, + background: background ?? this.background, + searchHitBackground: searchHitBackground ?? this.searchHitBackground, + searchHitBackgroundCurrent: + searchHitBackgroundCurrent ?? this.searchHitBackgroundCurrent, + searchHitForeground: searchHitForeground ?? this.searchHitForeground, + red: red ?? this.red, + green: green ?? this.green, + yellow: yellow ?? this.yellow, + blue: blue ?? this.blue, + magenta: magenta ?? this.magenta, + cyan: cyan ?? this.cyan, + white: white ?? this.white, + brightBlack: brightBlack ?? this.brightBlack, + brightRed: brightRed ?? this.brightRed, + brightGreen: brightGreen ?? this.brightGreen, + brightYellow: brightYellow ?? this.brightYellow, + brightBlue: brightBlue ?? this.brightBlue, + brightMagenta: brightMagenta ?? this.brightMagenta, + brightCyan: brightCyan ?? this.brightCyan, + brightWhite: brightWhite ?? this.brightWhite, + black: black ?? this.black, + ); + } +} diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index b1527c59..4631afb0 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -514,7 +514,7 @@ class _ServerPageState extends State ), actions: [ TextButton( - onPressed: () => Shares.copy(ss.err!), + onPressed: () => Shares.copy(ss.err ?? l10n.unknownError), child: Text(l10n.copy), ) ], diff --git a/lib/view/page/ssh/page.dart b/lib/view/page/ssh/page.dart index a45ccf01..0649da18 100644 --- a/lib/view/page/ssh/page.dart +++ b/lib/view/page/ssh/page.dart @@ -96,6 +96,7 @@ class _SSHPageState extends State with AutomaticKeepAliveClientMixin { _media = MediaQuery.of(context); _terminalTheme = _isDark ? TerminalThemes.dark : TerminalThemes.light; + _terminalTheme = _terminalTheme.copyWith(selectionCursor: primaryColor); // Because the virtual keyboard only displayed on mobile devices if (isMobile) { diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 05e89f2b..16b14544 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -56,7 +56,7 @@ SPEC CHECKSUMS: icloud_storage: 33b05299e26d1391d724da8d62860e702380a1cd path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38 - share_plus: 76dd39142738f7a68dd57b05093b5e8193f220f7 + share_plus: 36537c04ce0c3e3f5bd297ce4318b6d5ee5fd6cf shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95 window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index d60c5dac..f35e4fba 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -471,7 +471,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; @@ -481,7 +481,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -608,7 +608,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Server Box"; @@ -618,7 +618,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -638,7 +638,7 @@ "CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application"; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 867; + CURRENT_PROJECT_VERSION = 868; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=macosx*]" = BA88US33G6; INFOPLIST_FILE = Runner/Info.plist; @@ -649,7 +649,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 1.0.867; + MARKETING_VERSION = 1.0.868; PRODUCT_BUNDLE_IDENTIFIER = com.lollipopkit.toolbox; PRODUCT_NAME = "Server Box"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/pubspec.lock b/pubspec.lock index acde30f3..2dbdd022 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1370,8 +1370,8 @@ packages: dependency: "direct main" description: path: "." - ref: "03c74c4" - resolved-ref: "03c74c45ceb3481ed98d11f69422e60d59eb1654" + ref: "7d3c3e2" + resolved-ref: "7d3c3e2c121dae735f4d84de28105427d480c0cf" url: "https://github.com/lollipopkit/xterm.dart" source: git version: "4.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index c8391dc4..8a1cd2f7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: xterm: # path: ../xterm.dart git: - ref: 03c74c4 + ref: 7d3c3e2 url: https://github.com/lollipopkit/xterm.dart file_picker: ^8.0.1 plain_notification_token: ^0.0.4