@@ -23,14 +23,16 @@ import 'package:flutter/material.dart';
2323import 'package:yaru/yaru.dart' ;
2424import 'package:yaru_widgets/yaru_widgets.dart' ;
2525
26- Future <void > main () async {
26+ Future <void > main (List < String > args ) async {
2727 WidgetsFlutterBinding .ensureInitialized ();
2828 await YaruWindowTitleBar .ensureInitialized ();
2929 await YaruWindow .ensureInitialized ();
3030 await initProviders ();
3131 await driveProvider.init ();
3232
33- runApp (const Files ());
33+ final String ? initialDir = args.isNotEmpty ? args.first : null ;
34+
35+ runApp (Files (initialDir: initialDir));
3436}
3537
3638ThemeData ? _applyThemeValues (ThemeData ? theme) {
@@ -46,7 +48,9 @@ ThemeData? _applyThemeValues(ThemeData? theme) {
4648}
4749
4850class Files extends StatelessWidget {
49- const Files ({super .key});
51+ final String ? initialDir;
52+
53+ const Files ({this .initialDir, super .key});
5054
5155 @override
5256 Widget build (BuildContext context) {
@@ -60,23 +64,27 @@ class Files extends StatelessWidget {
6064 scrollbars: false ,
6165 ),
6266 debugShowCheckedModeBanner: false ,
63- home: const FilesHome (),
67+ home: FilesHome (initialDir : initialDir ),
6468 );
6569 },
6670 );
6771 }
6872}
6973
7074class FilesHome extends StatefulWidget {
71- const FilesHome ({super .key});
75+ final String ? initialDir;
76+
77+ const FilesHome ({this .initialDir, super .key});
7278
7379 @override
7480 _FilesHomeState createState () => _FilesHomeState ();
7581}
7682
7783class _FilesHomeState extends State <FilesHome > {
7884 late final List <WorkspaceController > workspaces = [
79- WorkspaceController (initialDir: folderProvider.destinations.first.path),
85+ WorkspaceController (
86+ initialDir: widget.initialDir ?? folderProvider.destinations.first.path,
87+ ),
8088 ];
8189 int currentWorkspace = 0 ;
8290
@@ -90,6 +98,7 @@ class _FilesHomeState extends State<FilesHome> {
9098 children: [
9199 GestureDetector (
92100 onPanStart: (details) => YaruWindow .drag (context),
101+ onSecondaryTap: () => YaruWindow .showMenu (context),
93102 child: SizedBox (
94103 height: 56 ,
95104 child: TabStrip (
0 commit comments