pake-cli 3.6.2 → 3.6.4

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.
@@ -2,208 +2,171 @@ use tauri::menu::{AboutMetadata, Menu, MenuItem, PredefinedMenuItem, Submenu};
2
2
  use tauri::{AppHandle, Manager, Wry};
3
3
  use tauri_plugin_opener::OpenerExt;
4
4
 
5
- pub fn get_menu(app: &AppHandle<Wry>) -> Menu<Wry> {
5
+ pub fn get_menu(app: &AppHandle<Wry>) -> tauri::Result<Menu<Wry>> {
6
6
  let pake_version = env!("CARGO_PKG_VERSION");
7
7
  let pake_menu_item_title = format!("Built with Pake V{}", pake_version);
8
8
 
9
- // App Menu (macOS specific, e.g., "Pake")
10
- let app_menu = Submenu::new(app, "Pake", true).unwrap();
11
- let about_metadata = AboutMetadata::default();
12
- app_menu
13
- .append(&PredefinedMenuItem::about(app, Some("Pake"), Some(about_metadata)).unwrap())
14
- .unwrap();
15
- app_menu
16
- .append(&PredefinedMenuItem::separator(app).unwrap())
17
- .unwrap();
18
- app_menu
19
- .append(&PredefinedMenuItem::services(app, None).unwrap())
20
- .unwrap();
21
- app_menu
22
- .append(&PredefinedMenuItem::separator(app).unwrap())
23
- .unwrap();
24
- app_menu
25
- .append(&PredefinedMenuItem::hide(app, None).unwrap())
26
- .unwrap();
27
- app_menu
28
- .append(&PredefinedMenuItem::hide_others(app, None).unwrap())
29
- .unwrap();
30
- app_menu
31
- .append(&PredefinedMenuItem::show_all(app, None).unwrap())
32
- .unwrap();
33
- app_menu
34
- .append(&PredefinedMenuItem::separator(app).unwrap())
35
- .unwrap();
36
- app_menu
37
- .append(&PredefinedMenuItem::quit(app, None).unwrap())
38
- .unwrap();
9
+ let menu = Menu::with_items(
10
+ app,
11
+ &[
12
+ &app_menu(app)?,
13
+ &file_menu(app)?,
14
+ &edit_menu(app)?,
15
+ &view_menu(app)?,
16
+ &navigation_menu(app)?,
17
+ &window_menu(app)?,
18
+ &help_menu(app, &pake_menu_item_title)?,
19
+ ],
20
+ )?;
39
21
 
40
- // File Menu
41
- let file_menu = Submenu::new(app, "File", true).unwrap();
42
- file_menu
43
- .append(&PredefinedMenuItem::close_window(app, None).unwrap())
44
- .unwrap();
45
- file_menu
46
- .append(&PredefinedMenuItem::separator(app).unwrap())
47
- .unwrap();
48
- file_menu
49
- .append(
50
- &MenuItem::with_id(
51
- app,
52
- "clear_cache_restart",
53
- "Clear Cache & Restart",
54
- true,
55
- Some("CmdOrCtrl+Shift+Backspace"),
56
- )
57
- .unwrap(),
58
- )
59
- .unwrap();
22
+ Ok(menu)
23
+ }
60
24
 
61
- // Edit Menu
62
- let edit_menu = Submenu::new(app, "Edit", true).unwrap();
63
- edit_menu
64
- .append(&PredefinedMenuItem::undo(app, None).unwrap())
65
- .unwrap();
66
- edit_menu
67
- .append(&PredefinedMenuItem::redo(app, None).unwrap())
68
- .unwrap();
69
- edit_menu
70
- .append(&PredefinedMenuItem::separator(app).unwrap())
71
- .unwrap();
72
- edit_menu
73
- .append(&PredefinedMenuItem::cut(app, None).unwrap())
74
- .unwrap();
75
- edit_menu
76
- .append(&PredefinedMenuItem::copy(app, None).unwrap())
77
- .unwrap();
78
- edit_menu
79
- .append(&PredefinedMenuItem::paste(app, None).unwrap())
80
- .unwrap();
81
- edit_menu
82
- .append(&PredefinedMenuItem::select_all(app, None).unwrap())
83
- .unwrap();
84
- edit_menu
85
- .append(&PredefinedMenuItem::separator(app).unwrap())
86
- .unwrap();
87
- edit_menu
88
- .append(&MenuItem::with_id(app, "copy_url", "Copy URL", true, Some("CmdOrCtrl+L")).unwrap())
89
- .unwrap();
25
+ fn app_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
26
+ let app_menu = Submenu::new(app, "Pake", true)?;
27
+ let about_metadata = AboutMetadata::default();
28
+ app_menu.append(&PredefinedMenuItem::about(
29
+ app,
30
+ Some("Pake"),
31
+ Some(about_metadata),
32
+ )?)?;
33
+ app_menu.append(&PredefinedMenuItem::separator(app)?)?;
34
+ app_menu.append(&PredefinedMenuItem::services(app, None)?)?;
35
+ app_menu.append(&PredefinedMenuItem::separator(app)?)?;
36
+ app_menu.append(&PredefinedMenuItem::hide(app, None)?)?;
37
+ app_menu.append(&PredefinedMenuItem::hide_others(app, None)?)?;
38
+ app_menu.append(&PredefinedMenuItem::show_all(app, None)?)?;
39
+ app_menu.append(&PredefinedMenuItem::separator(app)?)?;
40
+ app_menu.append(&PredefinedMenuItem::quit(app, None)?)?;
41
+ Ok(app_menu)
42
+ }
90
43
 
91
- // View Menu
92
- let view_menu = Submenu::new(app, "View", true).unwrap();
93
- view_menu
94
- .append(&MenuItem::with_id(app, "reload", "Reload", true, Some("CmdOrCtrl+R")).unwrap())
95
- .unwrap();
96
- view_menu
97
- .append(&PredefinedMenuItem::separator(app).unwrap())
98
- .unwrap();
99
- view_menu
100
- .append(&MenuItem::with_id(app, "zoom_in", "Zoom In", true, Some("CmdOrCtrl+=")).unwrap())
101
- .unwrap();
102
- view_menu
103
- .append(&MenuItem::with_id(app, "zoom_out", "Zoom Out", true, Some("CmdOrCtrl+-")).unwrap())
104
- .unwrap();
105
- view_menu
106
- .append(
107
- &MenuItem::with_id(app, "zoom_reset", "Actual Size", true, Some("CmdOrCtrl+0"))
108
- .unwrap(),
109
- )
110
- .unwrap();
111
- view_menu
112
- .append(&PredefinedMenuItem::separator(app).unwrap())
113
- .unwrap();
114
- view_menu
115
- .append(&PredefinedMenuItem::fullscreen(app, None).unwrap())
116
- .unwrap();
117
- view_menu
118
- .append(&PredefinedMenuItem::separator(app).unwrap())
119
- .unwrap();
120
- view_menu
121
- .append(
122
- &MenuItem::with_id(
123
- app,
124
- "toggle_devtools",
125
- "Toggle Developer Tools",
126
- cfg!(debug_assertions),
127
- Some("CmdOrCtrl+Option+I"),
128
- )
129
- .unwrap(),
130
- )
131
- .unwrap();
44
+ fn file_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
45
+ let file_menu = Submenu::new(app, "File", true)?;
46
+ file_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
47
+ file_menu.append(&PredefinedMenuItem::separator(app)?)?;
48
+ file_menu.append(&MenuItem::with_id(
49
+ app,
50
+ "clear_cache_restart",
51
+ "Clear Cache & Restart",
52
+ true,
53
+ Some("CmdOrCtrl+Shift+Backspace"),
54
+ )?)?;
55
+ Ok(file_menu)
56
+ }
132
57
 
133
- // Navigation Menu
134
- let navigation_menu = Submenu::new(app, "Navigation", true).unwrap();
135
- navigation_menu
136
- .append(&MenuItem::with_id(app, "go_back", "Back", true, Some("CmdOrCtrl+[")).unwrap())
137
- .unwrap();
138
- navigation_menu
139
- .append(
140
- &MenuItem::with_id(app, "go_forward", "Forward", true, Some("CmdOrCtrl+]")).unwrap(),
141
- )
142
- .unwrap();
143
- navigation_menu
144
- .append(
145
- &MenuItem::with_id(app, "go_home", "Go Home", true, Some("CmdOrCtrl+Shift+H")).unwrap(),
146
- )
147
- .unwrap();
58
+ fn edit_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
59
+ let edit_menu = Submenu::new(app, "Edit", true)?;
60
+ edit_menu.append(&PredefinedMenuItem::undo(app, None)?)?;
61
+ edit_menu.append(&PredefinedMenuItem::redo(app, None)?)?;
62
+ edit_menu.append(&PredefinedMenuItem::separator(app)?)?;
63
+ edit_menu.append(&PredefinedMenuItem::cut(app, None)?)?;
64
+ edit_menu.append(&PredefinedMenuItem::copy(app, None)?)?;
65
+ edit_menu.append(&PredefinedMenuItem::paste(app, None)?)?;
66
+ edit_menu.append(&PredefinedMenuItem::select_all(app, None)?)?;
67
+ edit_menu.append(&PredefinedMenuItem::separator(app)?)?;
68
+ edit_menu.append(&MenuItem::with_id(
69
+ app,
70
+ "copy_url",
71
+ "Copy URL",
72
+ true,
73
+ Some("CmdOrCtrl+L"),
74
+ )?)?;
75
+ Ok(edit_menu)
76
+ }
148
77
 
149
- // Window Menu
150
- let window_menu = Submenu::new(app, "Window", true).unwrap();
151
- window_menu
152
- .append(&PredefinedMenuItem::minimize(app, None).unwrap())
153
- .unwrap();
154
- window_menu
155
- .append(&PredefinedMenuItem::maximize(app, None).unwrap())
156
- .unwrap();
157
- window_menu
158
- .append(&PredefinedMenuItem::separator(app).unwrap())
159
- .unwrap();
160
- window_menu
161
- .append(
162
- &MenuItem::with_id(
163
- app,
164
- "always_on_top",
165
- "Toggle Always on Top",
166
- true,
167
- None::<&str>,
168
- )
169
- .unwrap(),
170
- )
171
- .unwrap();
172
- window_menu
173
- .append(&PredefinedMenuItem::separator(app).unwrap())
174
- .unwrap();
175
- window_menu
176
- .append(&PredefinedMenuItem::close_window(app, None).unwrap())
177
- .unwrap();
78
+ fn view_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
79
+ let view_menu = Submenu::new(app, "View", true)?;
80
+ view_menu.append(&MenuItem::with_id(
81
+ app,
82
+ "reload",
83
+ "Reload",
84
+ true,
85
+ Some("CmdOrCtrl+R"),
86
+ )?)?;
87
+ view_menu.append(&PredefinedMenuItem::separator(app)?)?;
88
+ view_menu.append(&MenuItem::with_id(
89
+ app,
90
+ "zoom_in",
91
+ "Zoom In",
92
+ true,
93
+ Some("CmdOrCtrl+="),
94
+ )?)?;
95
+ view_menu.append(&MenuItem::with_id(
96
+ app,
97
+ "zoom_out",
98
+ "Zoom Out",
99
+ true,
100
+ Some("CmdOrCtrl+-"),
101
+ )?)?;
102
+ view_menu.append(&MenuItem::with_id(
103
+ app,
104
+ "zoom_reset",
105
+ "Actual Size",
106
+ true,
107
+ Some("CmdOrCtrl+0"),
108
+ )?)?;
109
+ view_menu.append(&PredefinedMenuItem::separator(app)?)?;
110
+ view_menu.append(&PredefinedMenuItem::fullscreen(app, None)?)?;
111
+ view_menu.append(&PredefinedMenuItem::separator(app)?)?;
112
+ view_menu.append(&MenuItem::with_id(
113
+ app,
114
+ "toggle_devtools",
115
+ "Toggle Developer Tools",
116
+ cfg!(debug_assertions),
117
+ Some("CmdOrCtrl+Option+I"),
118
+ )?)?;
119
+ Ok(view_menu)
120
+ }
178
121
 
179
- // Help Menu (Custom)
180
- let help_menu = Submenu::new(app, "Help", true).unwrap();
181
- let github_item = MenuItem::with_id(
122
+ fn navigation_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
123
+ let navigation_menu = Submenu::new(app, "Navigation", true)?;
124
+ navigation_menu.append(&MenuItem::with_id(
182
125
  app,
183
- "pake_github_link",
184
- &pake_menu_item_title,
126
+ "go_back",
127
+ "Back",
185
128
  true,
186
- None::<&str>,
187
- )
188
- .unwrap();
189
- help_menu.append(&github_item).unwrap();
129
+ Some("CmdOrCtrl+["),
130
+ )?)?;
131
+ navigation_menu.append(&MenuItem::with_id(
132
+ app,
133
+ "go_forward",
134
+ "Forward",
135
+ true,
136
+ Some("CmdOrCtrl+]"),
137
+ )?)?;
138
+ navigation_menu.append(&MenuItem::with_id(
139
+ app,
140
+ "go_home",
141
+ "Go Home",
142
+ true,
143
+ Some("CmdOrCtrl+Shift+H"),
144
+ )?)?;
145
+ Ok(navigation_menu)
146
+ }
190
147
 
191
- // Construct the Menu Bar
192
- let menu = Menu::with_items(
148
+ fn window_menu(app: &AppHandle<Wry>) -> tauri::Result<Submenu<Wry>> {
149
+ let window_menu = Submenu::new(app, "Window", true)?;
150
+ window_menu.append(&PredefinedMenuItem::minimize(app, None)?)?;
151
+ window_menu.append(&PredefinedMenuItem::maximize(app, None)?)?;
152
+ window_menu.append(&PredefinedMenuItem::separator(app)?)?;
153
+ window_menu.append(&MenuItem::with_id(
193
154
  app,
194
- &[
195
- &app_menu,
196
- &file_menu,
197
- &edit_menu,
198
- &view_menu,
199
- &navigation_menu,
200
- &window_menu,
201
- &help_menu,
202
- ],
203
- )
204
- .unwrap();
155
+ "always_on_top",
156
+ "Toggle Always on Top",
157
+ true,
158
+ None::<&str>,
159
+ )?)?;
160
+ window_menu.append(&PredefinedMenuItem::separator(app)?)?;
161
+ window_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
162
+ Ok(window_menu)
163
+ }
205
164
 
206
- menu
165
+ fn help_menu(app: &AppHandle<Wry>, title: &str) -> tauri::Result<Submenu<Wry>> {
166
+ let help_menu = Submenu::new(app, "Help", true)?;
167
+ let github_item = MenuItem::with_id(app, "pake_github_link", title, true, None::<&str>)?;
168
+ help_menu.append(&github_item)?;
169
+ Ok(help_menu)
207
170
  }
208
171
 
209
172
  pub fn handle_menu_click(app_handle: &AppHandle, id: &str) {
@@ -9,6 +9,8 @@ use tauri_plugin_window_state::StateFlags;
9
9
  #[cfg(target_os = "macos")]
10
10
  use std::time::Duration;
11
11
 
12
+ const WINDOW_SHOW_DELAY: u64 = 50;
13
+
12
14
  use app::{
13
15
  invoke::{
14
16
  clear_cache_and_restart, download_file, download_file_by_binary, send_notification,
@@ -69,13 +71,16 @@ pub fn run_app() {
69
71
  ])
70
72
  .setup(move |app| {
71
73
  // --- Menu Construction Start ---
72
- let menu = app::menu::get_menu(app.app_handle());
73
- app.set_menu(menu)?;
74
+ #[cfg(target_os = "macos")]
75
+ {
76
+ let menu = app::menu::get_menu(app.app_handle())?;
77
+ app.set_menu(menu)?;
74
78
 
75
- // Event Handling for Custom Menu Item
76
- app.on_menu_event(move |app_handle, event| {
77
- app::menu::handle_menu_click(app_handle, event.id().as_ref());
78
- });
79
+ // Event Handling for Custom Menu Item
80
+ app.on_menu_event(move |app_handle, event| {
81
+ app::menu::handle_menu_click(app_handle, event.id().as_ref());
82
+ });
83
+ }
79
84
  // --- Menu Construction End ---
80
85
 
81
86
  let window = set_window(app, &pake_config, &tauri_config);
@@ -92,7 +97,7 @@ pub fn run_app() {
92
97
  if !start_to_tray {
93
98
  let window_clone = window.clone();
94
99
  tauri::async_runtime::spawn(async move {
95
- tokio::time::sleep(tokio::time::Duration::from_millis(50)).await;
100
+ tokio::time::sleep(tokio::time::Duration::from_millis(WINDOW_SHOW_DELAY)).await;
96
101
  window_clone.show().unwrap();
97
102
  });
98
103
  }
@@ -1,5 +1,4 @@
1
1
  {
2
- "productName": "weekly",
3
2
  "bundle": {
4
3
  "icon": ["png/weekly_512.png"],
5
4
  "active": true,