From c9f99d98d2d85723c8ea8c042dd29e96d1f5f027 Mon Sep 17 00:00:00 2001 From: Alessandro Autiero Date: Wed, 14 Sep 2022 18:56:43 +0200 Subject: [PATCH] Finished Launcher Everything is smooth and the UI is perfect --- lib/src/util/os.dart | 14 ++++++++++++++ lib/src/widget/window_border.dart | 28 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 lib/src/util/os.dart create mode 100644 lib/src/widget/window_border.dart diff --git a/lib/src/util/os.dart b/lib/src/util/os.dart new file mode 100644 index 0000000..a9e69d9 --- /dev/null +++ b/lib/src/util/os.dart @@ -0,0 +1,14 @@ +import 'dart:io'; + +const int appBarSize = 2; +final RegExp _regex = RegExp(r'(?<=\(Build )(.*)(?=\))'); + +bool get isWin11 { + var result = _regex.firstMatch(Platform.operatingSystemVersion)?.group(1); + if(result == null){ + return false; + } + + var intBuild = int.tryParse(result); + return intBuild != null && intBuild > 22000; +} \ No newline at end of file diff --git a/lib/src/widget/window_border.dart b/lib/src/widget/window_border.dart new file mode 100644 index 0000000..83019c4 --- /dev/null +++ b/lib/src/widget/window_border.dart @@ -0,0 +1,28 @@ +import 'package:bitsdojo_window/bitsdojo_window.dart'; +import 'package:flutter/material.dart'; +import 'package:system_theme/system_theme.dart'; + +import '../util/os.dart'; + +class WindowBorder extends StatelessWidget { + const WindowBorder({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return IgnorePointer( + child: Padding( + padding: EdgeInsets.only( + top: 1 / appWindow.scaleFactor + ), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: SystemTheme.accentColor.accent, + width: appBarSize.toDouble() + ) + ) + ), + )); + } +}