mirror of
https://github.com/foss42/apidash.git
synced 2025-05-22 16:57:07 +08:00
Modify window size
This commit is contained in:
@ -1,15 +1,29 @@
|
|||||||
import 'package:flutter/foundation.dart';
|
import 'dart:io';
|
||||||
|
import 'dart:math' as math;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:desktop_window/desktop_window.dart';
|
import 'package:window_size/window_size.dart' as window_size;
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'screens/screens.dart';
|
import 'screens/screens.dart';
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
if (!kIsWeb) {
|
if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
|
||||||
await DesktopWindow.setWindowSize(const Size(1400, 800));
|
window_size.getWindowInfo().then((window) {
|
||||||
await DesktopWindow.setMinWindowSize(const Size(1200, 800));
|
final screen = window.screen;
|
||||||
|
if (screen != null) {
|
||||||
|
final screenFrame = screen.visibleFrame;
|
||||||
|
final width = math.max((screenFrame.width / 2).roundToDouble(), 1200.0);
|
||||||
|
final height =
|
||||||
|
math.max((screenFrame.height / 2).roundToDouble(), 800.0);
|
||||||
|
final left = ((screenFrame.width - width) / 2).roundToDouble();
|
||||||
|
final top = ((screenFrame.height - height) / 3).roundToDouble();
|
||||||
|
final frame = Rect.fromLTWH(left, top, width, height);
|
||||||
|
window_size.setWindowFrame(frame);
|
||||||
|
window_size.setWindowMinSize(const Size(900, 600));
|
||||||
|
window_size.setWindowMaxSize(Size.infinite);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
runApp(
|
runApp(
|
||||||
const ProviderScope(
|
const ProviderScope(
|
||||||
|
@ -14,7 +14,7 @@ class HomePage extends StatefulWidget {
|
|||||||
class HomePageState extends State<HomePage> {
|
class HomePageState extends State<HomePage> {
|
||||||
final MultiSplitViewController _controller = MultiSplitViewController(
|
final MultiSplitViewController _controller = MultiSplitViewController(
|
||||||
areas: [
|
areas: [
|
||||||
Area(size: 300, minimalSize: 200),
|
Area(size: 250, minimalSize: 200),
|
||||||
Area(minimalWeight: 0.7),
|
Area(minimalWeight: 0.7),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
@ -485,6 +485,15 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.3"
|
version: "3.1.3"
|
||||||
|
window_size:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
path: "plugins/window_size"
|
||||||
|
ref: HEAD
|
||||||
|
resolved-ref: "6c66ad23ee79749f30a8eece542cf54eaf157ed8"
|
||||||
|
url: "https://github.com/google/flutter-desktop-embedding.git"
|
||||||
|
source: git
|
||||||
|
version: "0.1.0"
|
||||||
xdg_directories:
|
xdg_directories:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -23,6 +23,10 @@ dependencies:
|
|||||||
string_scanner: ^1.2.0
|
string_scanner: ^1.2.0
|
||||||
xml: ^6.2.2
|
xml: ^6.2.2
|
||||||
jinja: ^0.4.2
|
jinja: ^0.4.2
|
||||||
|
window_size:
|
||||||
|
git:
|
||||||
|
url: https://github.com/google/flutter-desktop-embedding.git
|
||||||
|
path: plugins/window_size
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
Reference in New Issue
Block a user