Support clearing cache and shortcut keys
This commit is contained in:
@@ -151,6 +151,7 @@
|
||||
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | Copy Current Page URL |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | Go to Home Page |
|
||||
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | Toggle Developer Tools (Debug Only) |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | Clear Cache & Restart |
|
||||
|
||||
In addition, double-click the title bar to switch to full-screen mode. For Mac users, you can also use the gesture to go to the previous or next page and drag the title bar to move the window. The new menu also offers options for navigation, zoom, and window controls.
|
||||
|
||||
|
||||
@@ -152,6 +152,7 @@
|
||||
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 复制当前页面网址 |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | 回到首页 |
|
||||
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 开启调试 (仅开发版) |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | 清除缓存并重启 |
|
||||
|
||||
此外还支持双击头部全屏切换,拖拽头部移动窗口,Mac 用户支持手势返回和前进,新菜单也提供了导航、缩放和窗口控制等选项。
|
||||
|
||||
|
||||
@@ -150,6 +150,7 @@
|
||||
| <kbd>⌘</kbd> + <kbd>L</kbd> | <kbd>Ctrl</kbd> + <kbd>L</kbd> | 現在のURLをコピー |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd> | ホームページに戻る |
|
||||
| <kbd>⌘</kbd> + <kbd>⌥</kbd> + <kbd>I</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>I</kbd> | 開発者ツール (デバッグのみ) |
|
||||
| <kbd>⌘</kbd> + <kbd>⇧</kbd> + <kbd>⌫</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd> | キャッシュをクリアして再起動 |
|
||||
|
||||
さらに、タイトルバーをダブルクリックして全画面モードに切り替えることができます。Mac ユーザーは、ジェスチャーを使用して前のページまたは次のページに移動することもできます。新しいメニューには、ナビゲーション、ズーム、ウィンドウ制御などのオプションも用意されています。
|
||||
|
||||
|
||||
2
package.json
vendored
2
package.json
vendored
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "pake-cli",
|
||||
"version": "3.5.3",
|
||||
"version": "3.6.0",
|
||||
"description": "🤱🏻 Turn any webpage into a desktop app with one command. 🤱🏻 一键打包网页生成轻量桌面应用。",
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
|
||||
2
src-tauri/Cargo.lock
generated
2
src-tauri/Cargo.lock
generated
@@ -2588,7 +2588,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pake"
|
||||
version = "3.5.4"
|
||||
version = "3.6.0"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "pake"
|
||||
version = "3.5.4"
|
||||
version = "3.6.0"
|
||||
description = "🤱🏻 Turn any webpage into a desktop app with Rust."
|
||||
authors = ["Tw93"]
|
||||
license = "MIT"
|
||||
|
||||
@@ -116,7 +116,7 @@ pub fn send_notification(app: AppHandle, params: NotificationParams) -> Result<(
|
||||
}
|
||||
|
||||
#[command]
|
||||
pub fn update_theme_mode(app: AppHandle, mode: String) {
|
||||
pub async fn update_theme_mode(app: AppHandle, mode: String) {
|
||||
let window = app.get_webview_window("pake").unwrap();
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
@@ -128,3 +128,23 @@ pub fn update_theme_mode(app: AppHandle, mode: String) {
|
||||
let _ = window.set_theme(Some(theme));
|
||||
}
|
||||
}
|
||||
|
||||
#[command]
|
||||
#[allow(unreachable_code)]
|
||||
pub fn clear_cache_and_restart(app: AppHandle) -> Result<(), String> {
|
||||
if let Some(window) = app.get_webview_window("pake") {
|
||||
match window.clear_all_browsing_data() {
|
||||
Ok(_) => {
|
||||
// Clear all browsing data successfully
|
||||
app.restart();
|
||||
Ok(())
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("Failed to clear browsing data: {}", e);
|
||||
Err(format!("Failed to clear browsing data: {}", e))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Err("Main window not found".to_string())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,10 @@ use tauri::menu::{AboutMetadata, Menu, MenuItem, PredefinedMenuItem, Submenu};
|
||||
use tauri_plugin_opener::OpenerExt; // Add this
|
||||
|
||||
use app::{
|
||||
invoke::{download_file, download_file_by_binary, send_notification, update_theme_mode},
|
||||
invoke::{
|
||||
clear_cache_and_restart, download_file, download_file_by_binary, send_notification,
|
||||
update_theme_mode,
|
||||
},
|
||||
setup::{set_global_shortcut, set_system_tray},
|
||||
window::set_window,
|
||||
};
|
||||
@@ -65,6 +68,7 @@ pub fn run_app() {
|
||||
download_file_by_binary,
|
||||
send_notification,
|
||||
update_theme_mode,
|
||||
clear_cache_and_restart,
|
||||
])
|
||||
.setup(move |app| {
|
||||
// --- Menu Construction Start ---
|
||||
@@ -91,6 +95,15 @@ pub fn run_app() {
|
||||
// File Menu
|
||||
let file_menu = Submenu::new(app, "File", true)?;
|
||||
file_menu.append(&PredefinedMenuItem::close_window(app, None)?)?;
|
||||
file_menu.append(&PredefinedMenuItem::separator(app)?)?;
|
||||
file_menu.append(&MenuItem::with_id(
|
||||
app,
|
||||
"clear_cache_restart",
|
||||
"Clear Cache & Restart",
|
||||
true,
|
||||
Some("CmdOrCtrl+Shift+Backspace"),
|
||||
)?)?;
|
||||
|
||||
|
||||
// Edit Menu
|
||||
let edit_menu = Submenu::new(app, "Edit", true)?;
|
||||
@@ -277,6 +290,13 @@ pub fn run_app() {
|
||||
window.eval("navigator.clipboard.writeText(window.location.href)");
|
||||
}
|
||||
}
|
||||
"clear_cache_restart" => {
|
||||
if let Some(window) = app_handle.get_webview_window("pake") {
|
||||
if let Ok(_) = window.clear_all_browsing_data() {
|
||||
app_handle.restart();
|
||||
}
|
||||
}
|
||||
}
|
||||
"always_on_top" => {
|
||||
if let Some(window) = app_handle.get_webview_window("pake") {
|
||||
let is_on_top = window.is_always_on_top().unwrap_or(false);
|
||||
|
||||
Reference in New Issue
Block a user