import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter_hbb/main.dart'; import 'package:flutter_hbb/common.dart'; enum SystemWindowTheme { light, dark } /// The platform channel for RustDesk. class RdPlatformChannel { RdPlatformChannel._(); static final RdPlatformChannel _windowUtil = RdPlatformChannel._(); static RdPlatformChannel get instance => _windowUtil; final MethodChannel _osxMethodChannel = MethodChannel("org.rustdesk.rustdesk/macos"); /// Change the theme of the system window Future changeSystemWindowTheme(SystemWindowTheme theme) { assert(isMacOS); if (kDebugMode) { print( "[Window ${kWindowId ?? 'Main'}] change system window theme to ${theme.name}"); } return _osxMethodChannel .invokeMethod("setWindowTheme", {"themeName": theme.name}); } /// Terminate .app manually. Future terminate() { assert(isMacOS); return _osxMethodChannel.invokeMethod("terminate"); } }