pake-cli 3.6.0 → 3.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +402 -308
- package/dist/dev.js +1100 -215
- package/dist/dev.js.map +1 -1
- package/package.json +4 -3
- package/src-tauri/.pake/pake.json +43 -0
- package/src-tauri/.pake/tauri.conf.json +27 -0
- package/src-tauri/.pake/tauri.linux.conf.json +13 -0
- package/src-tauri/.pake/tauri.macos.conf.json +14 -0
- package/src-tauri/.pake/tauri.windows.conf.json +15 -0
- package/src-tauri/Cargo.lock +1 -1
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/icons/icon.icns +0 -0
- package/src-tauri/icons/icon.png +0 -0
- package/src-tauri/src/app/invoke.rs +10 -5
- package/src-tauri/src/app/menu.rs +281 -0
- package/src-tauri/src/app/mod.rs +1 -0
- package/src-tauri/src/lib.rs +2 -231
- package/src-tauri/assets/com-tw93-weekly.desktop +0 -10
package/src-tauri/src/lib.rs
CHANGED
|
@@ -9,9 +9,6 @@ use tauri_plugin_window_state::StateFlags;
|
|
|
9
9
|
#[cfg(target_os = "macos")]
|
|
10
10
|
use std::time::Duration;
|
|
11
11
|
|
|
12
|
-
use tauri::menu::{AboutMetadata, Menu, MenuItem, PredefinedMenuItem, Submenu};
|
|
13
|
-
use tauri_plugin_opener::OpenerExt; // Add this
|
|
14
|
-
|
|
15
12
|
use app::{
|
|
16
13
|
invoke::{
|
|
17
14
|
clear_cache_and_restart, download_file, download_file_by_binary, send_notification,
|
|
@@ -72,238 +69,12 @@ pub fn run_app() {
|
|
|
72
69
|
])
|
|
73
70
|
.setup(move |app| {
|
|
74
71
|
// --- Menu Construction Start ---
|
|
75
|
-
let
|
|
76
|
-
let pake_menu_item_title = format!("Built with Pake V{}", pake_version);
|
|
77
|
-
|
|
78
|
-
// App Menu (macOS specific, e.g., "Pake")
|
|
79
|
-
let app_menu = Submenu::new(app, "Pake", true)?;
|
|
80
|
-
let about_metadata = AboutMetadata::default();
|
|
81
|
-
app_menu.append(&PredefinedMenuItem::about(
|
|
82
|
-
app,
|
|
83
|
-
Some("Pake"),
|
|
84
|
-
Some(about_metadata),
|
|
85
|
-
)?)?;
|
|
86
|
-
app_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
87
|
-
app_menu.append(&PredefinedMenuItem::services(app, None)?)?;
|
|
88
|
-
app_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
89
|
-
app_menu.append(&PredefinedMenuItem::hide(app, None)?)?;
|
|
90
|
-
app_menu.append(&PredefinedMenuItem::hide_others(app, None)?)?;
|
|
91
|
-
app_menu.append(&PredefinedMenuItem::show_all(app, None)?)?;
|
|
92
|
-
app_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
93
|
-
app_menu.append(&PredefinedMenuItem::quit(app, None)?)?;
|
|
94
|
-
|
|
95
|
-
// File Menu
|
|
96
|
-
let file_menu = Submenu::new(app, "File", true)?;
|
|
97
|
-
file_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
|
|
98
|
-
file_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
99
|
-
file_menu.append(&MenuItem::with_id(
|
|
100
|
-
app,
|
|
101
|
-
"clear_cache_restart",
|
|
102
|
-
"Clear Cache & Restart",
|
|
103
|
-
true,
|
|
104
|
-
Some("CmdOrCtrl+Shift+Backspace"),
|
|
105
|
-
)?)?;
|
|
106
|
-
|
|
107
|
-
// Edit Menu
|
|
108
|
-
let edit_menu = Submenu::new(app, "Edit", true)?;
|
|
109
|
-
edit_menu.append(&PredefinedMenuItem::undo(app, None)?)?;
|
|
110
|
-
edit_menu.append(&PredefinedMenuItem::redo(app, None)?)?;
|
|
111
|
-
edit_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
112
|
-
edit_menu.append(&PredefinedMenuItem::cut(app, None)?)?;
|
|
113
|
-
edit_menu.append(&PredefinedMenuItem::copy(app, None)?)?;
|
|
114
|
-
edit_menu.append(&PredefinedMenuItem::paste(app, None)?)?;
|
|
115
|
-
edit_menu.append(&PredefinedMenuItem::select_all(app, None)?)?;
|
|
116
|
-
edit_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
117
|
-
edit_menu.append(&MenuItem::with_id(
|
|
118
|
-
app,
|
|
119
|
-
"copy_url",
|
|
120
|
-
"Copy URL",
|
|
121
|
-
true,
|
|
122
|
-
Some("CmdOrCtrl+L"),
|
|
123
|
-
)?)?;
|
|
124
|
-
|
|
125
|
-
// View Menu
|
|
126
|
-
let view_menu = Submenu::new(app, "View", true)?;
|
|
127
|
-
view_menu.append(&MenuItem::with_id(
|
|
128
|
-
app,
|
|
129
|
-
"reload",
|
|
130
|
-
"Reload",
|
|
131
|
-
true,
|
|
132
|
-
Some("CmdOrCtrl+R"),
|
|
133
|
-
)?)?;
|
|
134
|
-
view_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
135
|
-
view_menu.append(&MenuItem::with_id(
|
|
136
|
-
app,
|
|
137
|
-
"zoom_in",
|
|
138
|
-
"Zoom In",
|
|
139
|
-
true,
|
|
140
|
-
Some("CmdOrCtrl+="),
|
|
141
|
-
)?)?;
|
|
142
|
-
view_menu.append(&MenuItem::with_id(
|
|
143
|
-
app,
|
|
144
|
-
"zoom_out",
|
|
145
|
-
"Zoom Out",
|
|
146
|
-
true,
|
|
147
|
-
Some("CmdOrCtrl+-"),
|
|
148
|
-
)?)?;
|
|
149
|
-
view_menu.append(&MenuItem::with_id(
|
|
150
|
-
app,
|
|
151
|
-
"zoom_reset",
|
|
152
|
-
"Actual Size",
|
|
153
|
-
true,
|
|
154
|
-
Some("CmdOrCtrl+0"),
|
|
155
|
-
)?)?;
|
|
156
|
-
view_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
157
|
-
view_menu.append(&PredefinedMenuItem::fullscreen(app, None)?)?;
|
|
158
|
-
view_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
159
|
-
view_menu.append(&MenuItem::with_id(
|
|
160
|
-
app,
|
|
161
|
-
"toggle_devtools",
|
|
162
|
-
"Toggle Developer Tools",
|
|
163
|
-
cfg!(debug_assertions),
|
|
164
|
-
Some("CmdOrCtrl+Option+I"),
|
|
165
|
-
)?)?;
|
|
166
|
-
|
|
167
|
-
// Navigation Menu
|
|
168
|
-
let navigation_menu = Submenu::new(app, "Navigation", true)?;
|
|
169
|
-
navigation_menu.append(&MenuItem::with_id(
|
|
170
|
-
app,
|
|
171
|
-
"go_back",
|
|
172
|
-
"Back",
|
|
173
|
-
true,
|
|
174
|
-
Some("CmdOrCtrl+["),
|
|
175
|
-
)?)?;
|
|
176
|
-
navigation_menu.append(&MenuItem::with_id(
|
|
177
|
-
app,
|
|
178
|
-
"go_forward",
|
|
179
|
-
"Forward",
|
|
180
|
-
true,
|
|
181
|
-
Some("CmdOrCtrl+]"),
|
|
182
|
-
)?)?;
|
|
183
|
-
navigation_menu.append(&MenuItem::with_id(
|
|
184
|
-
app,
|
|
185
|
-
"go_home",
|
|
186
|
-
"Go Home",
|
|
187
|
-
true,
|
|
188
|
-
Some("CmdOrCtrl+Shift+H"),
|
|
189
|
-
)?)?;
|
|
190
|
-
|
|
191
|
-
// Window Menu
|
|
192
|
-
let window_menu = Submenu::new(app, "Window", true)?;
|
|
193
|
-
window_menu.append(&PredefinedMenuItem::minimize(app, None)?)?;
|
|
194
|
-
window_menu.append(&PredefinedMenuItem::maximize(app, None)?)?;
|
|
195
|
-
window_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
196
|
-
window_menu.append(&MenuItem::with_id(
|
|
197
|
-
app,
|
|
198
|
-
"always_on_top",
|
|
199
|
-
"Toggle Always on Top",
|
|
200
|
-
true,
|
|
201
|
-
None::<&str>,
|
|
202
|
-
)?)?;
|
|
203
|
-
window_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
|
204
|
-
window_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
|
|
205
|
-
|
|
206
|
-
// Help Menu (Custom)
|
|
207
|
-
let help_menu = Submenu::new(app, "Help", true)?;
|
|
208
|
-
let github_item = MenuItem::with_id(
|
|
209
|
-
app,
|
|
210
|
-
"pake_github_link",
|
|
211
|
-
&pake_menu_item_title,
|
|
212
|
-
true,
|
|
213
|
-
None::<&str>,
|
|
214
|
-
)?;
|
|
215
|
-
help_menu.append(&github_item)?;
|
|
216
|
-
|
|
217
|
-
// Construct the Menu Bar
|
|
218
|
-
let menu = Menu::with_items(
|
|
219
|
-
app,
|
|
220
|
-
&[
|
|
221
|
-
&app_menu,
|
|
222
|
-
&file_menu,
|
|
223
|
-
&edit_menu,
|
|
224
|
-
&view_menu,
|
|
225
|
-
&navigation_menu,
|
|
226
|
-
&window_menu,
|
|
227
|
-
&help_menu,
|
|
228
|
-
],
|
|
229
|
-
)?;
|
|
230
|
-
|
|
72
|
+
let menu = app::menu::get_menu(app.app_handle());
|
|
231
73
|
app.set_menu(menu)?;
|
|
232
74
|
|
|
233
75
|
// Event Handling for Custom Menu Item
|
|
234
76
|
app.on_menu_event(move |app_handle, event| {
|
|
235
|
-
|
|
236
|
-
"pake_github_link" => {
|
|
237
|
-
let _ = app_handle
|
|
238
|
-
.opener()
|
|
239
|
-
.open_url("https://github.com/tw93/Pake", None::<&str>);
|
|
240
|
-
}
|
|
241
|
-
"reload" => {
|
|
242
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
243
|
-
let _ = window.eval("window.location.reload()");
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
"toggle_devtools" => {
|
|
247
|
-
#[cfg(debug_assertions)] // Only allow in debug builds
|
|
248
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
249
|
-
if window.is_devtools_open() {
|
|
250
|
-
window.close_devtools();
|
|
251
|
-
} else {
|
|
252
|
-
window.open_devtools();
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
"zoom_in" => {
|
|
257
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
258
|
-
let _ = window.eval("zoomIn()");
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
"zoom_out" => {
|
|
262
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
263
|
-
let _ = window.eval("zoomOut()");
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
"zoom_reset" => {
|
|
267
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
268
|
-
let _ = window.eval("setZoom('100%')");
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
"go_back" => {
|
|
272
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
273
|
-
let _ = window.eval("window.history.back()");
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
"go_forward" => {
|
|
277
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
278
|
-
let _ = window.eval("window.history.forward()");
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
"go_home" => {
|
|
282
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
283
|
-
let _ = window.eval("window.location.href = window.pakeConfig.url");
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
"copy_url" => {
|
|
287
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
288
|
-
let _ =
|
|
289
|
-
window.eval("navigator.clipboard.writeText(window.location.href)");
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
"clear_cache_restart" => {
|
|
293
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
294
|
-
if let Ok(_) = window.clear_all_browsing_data() {
|
|
295
|
-
app_handle.restart();
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
"always_on_top" => {
|
|
300
|
-
if let Some(window) = app_handle.get_webview_window("pake") {
|
|
301
|
-
let is_on_top = window.is_always_on_top().unwrap_or(false);
|
|
302
|
-
let _ = window.set_always_on_top(!is_on_top);
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
_ => {}
|
|
306
|
-
}
|
|
77
|
+
app::menu::handle_menu_click(app_handle, event.id().as_ref());
|
|
307
78
|
});
|
|
308
79
|
// --- Menu Construction End ---
|
|
309
80
|
|