mirror of
https://github.com/kunkunsh/kunkun-ext-neohtop.git
synced 2025-04-11 17:29:45 +00:00
36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
//! Window effects and customization
|
|
//!
|
|
//! Provides platform-specific window effects like transparency and vibrancy.
|
|
|
|
use tauri::WebviewWindow;
|
|
|
|
#[cfg(target_os = "windows")]
|
|
use window_vibrancy::apply_acrylic;
|
|
#[cfg(target_os = "macos")]
|
|
use window_vibrancy::{apply_vibrancy, NSVisualEffectMaterial, NSVisualEffectState};
|
|
|
|
/// Applies Windows-specific window effects
|
|
#[cfg(target_os = "windows")]
|
|
pub fn setup_window_effects(window: &WebviewWindow) -> Result<(), Box<dyn std::error::Error>> {
|
|
apply_acrylic(window, Some((0, 0, 25, 125)))?;
|
|
Ok(())
|
|
}
|
|
|
|
/// Applies macOS-specific window effects
|
|
#[cfg(target_os = "macos")]
|
|
pub fn setup_window_effects(window: &WebviewWindow) -> Result<(), Box<dyn std::error::Error>> {
|
|
apply_vibrancy(
|
|
window,
|
|
NSVisualEffectMaterial::HudWindow,
|
|
Some(NSVisualEffectState::Active),
|
|
None,
|
|
)?;
|
|
Ok(())
|
|
}
|
|
|
|
/// No-op for platforms without specific window effects
|
|
#[cfg(not(any(target_os = "windows", target_os = "macos")))]
|
|
pub fn setup_window_effects(_window: &WebviewWindow) -> Result<(), Box<dyn std::error::Error>> {
|
|
Ok(())
|
|
}
|