@@ -23,14 +23,16 @@ import 'package:flutter/material.dart';
23
23
import 'package:yaru/yaru.dart' ;
24
24
import 'package:yaru_widgets/yaru_widgets.dart' ;
25
25
26
- Future <void > main () async {
26
+ Future <void > main (List < String > args ) async {
27
27
WidgetsFlutterBinding .ensureInitialized ();
28
28
await YaruWindowTitleBar .ensureInitialized ();
29
29
await YaruWindow .ensureInitialized ();
30
30
await initProviders ();
31
31
await driveProvider.init ();
32
32
33
- runApp (const Files ());
33
+ final String ? initialDir = args.isNotEmpty ? args.first : null ;
34
+
35
+ runApp (Files (initialDir: initialDir));
34
36
}
35
37
36
38
ThemeData ? _applyThemeValues (ThemeData ? theme) {
@@ -46,7 +48,9 @@ ThemeData? _applyThemeValues(ThemeData? theme) {
46
48
}
47
49
48
50
class Files extends StatelessWidget {
49
- const Files ({super .key});
51
+ final String ? initialDir;
52
+
53
+ const Files ({this .initialDir, super .key});
50
54
51
55
@override
52
56
Widget build (BuildContext context) {
@@ -60,23 +64,27 @@ class Files extends StatelessWidget {
60
64
scrollbars: false ,
61
65
),
62
66
debugShowCheckedModeBanner: false ,
63
- home: const FilesHome (),
67
+ home: FilesHome (initialDir : initialDir ),
64
68
);
65
69
},
66
70
);
67
71
}
68
72
}
69
73
70
74
class FilesHome extends StatefulWidget {
71
- const FilesHome ({super .key});
75
+ final String ? initialDir;
76
+
77
+ const FilesHome ({this .initialDir, super .key});
72
78
73
79
@override
74
80
_FilesHomeState createState () => _FilesHomeState ();
75
81
}
76
82
77
83
class _FilesHomeState extends State <FilesHome > {
78
84
late final List <WorkspaceController > workspaces = [
79
- WorkspaceController (initialDir: folderProvider.destinations.first.path),
85
+ WorkspaceController (
86
+ initialDir: widget.initialDir ?? folderProvider.destinations.first.path,
87
+ ),
80
88
];
81
89
int currentWorkspace = 0 ;
82
90
@@ -90,6 +98,7 @@ class _FilesHomeState extends State<FilesHome> {
90
98
children: [
91
99
GestureDetector (
92
100
onPanStart: (details) => YaruWindow .drag (context),
101
+ onSecondaryTap: () => YaruWindow .showMenu (context),
93
102
child: SizedBox (
94
103
height: 56 ,
95
104
child: TabStrip (
0 commit comments