fix(linux-tauri): window building on linux

This commit is contained in:
2025-04-19 15:42:14 +01:00
parent 1d07fa271d
commit c3f4403145
2 changed files with 15 additions and 9 deletions

View File

@ -127,7 +127,10 @@ fn _register_shortcut<R: Runtime>(app: &AppHandle<R>, shortcut: Shortcut) {
/// Helper function to register shortcuts during application startup /// Helper function to register shortcuts during application startup
fn _register_shortcut_upon_start(app: &App, shortcut: Shortcut) { fn _register_shortcut_upon_start(app: &App, shortcut: Shortcut) {
let window = app.get_webview_window("main").unwrap(); let window = app
.get_webview_window("main")
.expect("webview to be defined");
// Initialize global shortcut and set its handler // Initialize global shortcut and set its handler
app.handle() app.handle()
.plugin( .plugin(

View File

@ -1,24 +1,22 @@
use tauri::App; use tauri::App;
use tauri::TitleBarStyle;
use tauri::{WebviewUrl, WebviewWindowBuilder}; use tauri::{WebviewUrl, WebviewWindowBuilder};
pub fn setup_window(app: &mut App) -> Result<(), Box<dyn std::error::Error>> { pub fn setup_window(app: &mut App) -> Result<(), Box<dyn std::error::Error>> {
let win_builder = WebviewWindowBuilder::new(app, "main", WebviewUrl::default()) let win_builder = WebviewWindowBuilder::new(app, "main", WebviewUrl::default())
.inner_size(480.0, 360.0) .inner_size(480.0, 360.0)
.title("Haystack") .title("Haystack")
.hidden_title(true)
.resizable(false); .resizable(false);
//
#[cfg(target_os = "macos")]
let win_builder = win_builder.title_bar_style(TitleBarStyle::Transparent);
let window = win_builder.build().unwrap();
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
{ {
use cocoa::appkit::{NSColor, NSWindow}; use cocoa::appkit::{NSColor, NSWindow};
use cocoa::base::{id, nil}; use cocoa::base::{id, nil};
use tauri::TitleBarStyle;
let win_builder = win_builder
.hidden_title(true)
.title_bar_style(TitleBarStyle::Transparent);
let window = win_builder.build().unwrap();
let ns_window = window.ns_window().unwrap() as id; let ns_window = window.ns_window().unwrap() as id;
unsafe { unsafe {
@ -33,5 +31,10 @@ pub fn setup_window(app: &mut App) -> Result<(), Box<dyn std::error::Error>> {
} }
} }
#[cfg(target_os = "linux")]
{
win_builder.build().unwrap();
}
Ok(()) Ok(())
} }