Initial commit: imajViewer Flutter Linux image viewer
This commit is contained in:
commit
8369ec2a5d
33 files changed
+2165
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
import 'app.dart';
|
||||
import 'services/image_manager.dart';
|
||||
import 'services/window_persistence.dart';
|
||||
|
||||
void main(List<String> args) async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
ImageManager.configureCache();
|
||||
|
||||
await windowManager.ensureInitialized();
|
||||
|
||||
// Restore saved window position/size or use defaults
|
||||
final saved = WindowPersistence.restore();
|
||||
final defaultSize = const Size(1280, 800);
|
||||
|
||||
final windowOptions = WindowOptions(
|
||||
size: saved?.size ?? defaultSize,
|
||||
minimumSize: const Size(400, 300),
|
||||
backgroundColor: Colors.transparent,
|
||||
titleBarStyle: TitleBarStyle.hidden,
|
||||
);
|
||||
|
||||
await windowManager.waitUntilReadyToShow(windowOptions, () async {
|
||||
if (saved != null) {
|
||||
await windowManager.setPosition(saved.position);
|
||||
await windowManager.setSize(saved.size);
|
||||
} else {
|
||||
await windowManager.center();
|
||||
}
|
||||
await windowManager.setResizable(true);
|
||||
await windowManager.show();
|
||||
await windowManager.focus();
|
||||
});
|
||||
|
||||
// Extract file paths from command-line arguments
|
||||
final filePaths = args.where((a) => !a.startsWith('-') && a != Platform.script.path).toList();
|
||||
|
||||
runApp(ImajViewerApp(initialFiles: filePaths));
|
||||
}
|
||||
Reference in new issue
Block a user