From 6675b6d978fb0ab9bb878294d44e0a49ec6bf90d Mon Sep 17 00:00:00 2001 From: JSR Date: Thu, 19 Mar 2026 18:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20macOS=20=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E5=9C=86=E8=A7=92=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/Cargo.toml | 2 +- src-tauri/src/lib.rs | 5 +++++ src-tauri/tauri.conf.json | 3 ++- src/assets/main.css | 10 ++++++++++ src/main.tsx | 5 +++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 9efbfaf..ac2c981 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -14,7 +14,7 @@ crate-type = ["staticlib", "cdylib", "lib"] tauri-build = { version = "2", features = [] } [dependencies] -tauri = { version = "2", features = ["tray-icon", "image-png", "protocol-asset"] } +tauri = { version = "2", features = ["macos-private-api", "tray-icon", "image-png", "protocol-asset"] } tauri-plugin-shell = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 970d3f9..96272a9 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -298,6 +298,11 @@ fn setup_tray(_app: &mut App) -> Result<(), Box> { #[cfg(desktop)] fn setup_window_events(app: &mut App) -> Result<(), Box> { if let Some(window) = app.get_webview_window("main") { + #[cfg(target_os = "macos")] + { + let _ = window.set_shadow(true); + } + let window_clone = window.clone(); window.on_window_event(move |event| { if let WindowEvent::CloseRequested { api, .. } = event { diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index c5f00a1..8ca26ee 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -11,6 +11,7 @@ }, "app": { "withGlobalTauri": true, + "macOSPrivateApi": true, "windows": [ { "title": "SecScore", @@ -19,7 +20,7 @@ "resizable": true, "fullscreen": false, "decorations": false, - "transparent": false, + "transparent": true, "center": true, "minWidth": 800, "minHeight": 600 diff --git a/src/assets/main.css b/src/assets/main.css index 4729437..34dbac8 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -102,3 +102,13 @@ select { .ss-operation-drawer .ant-drawer-header button { -webkit-app-region: no-drag; } + +html.platform-macos, +html.platform-macos body { + background: transparent; +} + +html.platform-macos #root { + border-radius: 12px; + overflow: hidden; +} diff --git a/src/main.tsx b/src/main.tsx index 2d29379..c362927 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -126,6 +126,11 @@ const disableTouchZoom = () => { } disableTouchZoom() +const platform = navigator.userAgent.toLowerCase() +if (platform.includes("mac")) { + document.documentElement.classList.add("platform-macos") +} + window.addEventListener("error", (e: any) => { const error = e?.error safeWriteLog({