fix mac decorations

This commit is contained in:
Gregory Schier
2024-01-14 17:22:31 -08:00
parent 2ef6885949
commit 3e9a89a4c9
2 changed files with 26 additions and 18 deletions

View File

@@ -865,7 +865,6 @@ fn create_window(handle: &AppHandle<Wry>, url: Option<&str>) -> Window<Wry> {
100.0 + random::<f64>() * 30.0,
100.0 + random::<f64>() * 30.0,
)
.decorations(false) // Doesn't seem to work from Rust, here, so we do it in JS
.title(handle.package_info().name.to_string());
// Add macOS-only things
@@ -874,11 +873,16 @@ fn create_window(handle: &AppHandle<Wry>, url: Option<&str>) -> Window<Wry> {
win_builder = win_builder
.menu(app_menu)
.hidden_title(true)
.decoratons(true)
.transparent(false)
.title_bar_style(TitleBarStyle::Overlay);
}
// Add non-MacOS things
#[cfg(not(target_os = "macos"))]
{
// Doesn't seem to work from Rust, here, so we do it in JS
win_builder = win_builder.decorations(false);
}
let win = win_builder.build().expect("failed to build window");
// Tauri doesn't support shadows when hiding decorations, so we add our own

View File

@@ -1,16 +1,20 @@
import {StrictMode} from 'react';
import {createRoot} from 'react-dom/client';
import {attachConsole} from 'tauri-plugin-log-api';
import {App} from './components/App';
import {maybeRestorePathname} from './lib/persistPathname';
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { attachConsole } from 'tauri-plugin-log-api';
import { App } from './components/App';
import { maybeRestorePathname } from './lib/persistPathname';
import './main.css';
import {getSettings} from './lib/store';
import type {Appearance} from './lib/theme/window';
import {setAppearanceOnDocument} from './lib/theme/window';
import {appWindow} from "@tauri-apps/api/window";
import { getSettings } from './lib/store';
import type { Appearance } from './lib/theme/window';
import { setAppearanceOnDocument } from './lib/theme/window';
import { appWindow } from '@tauri-apps/api/window';
import { type } from '@tauri-apps/api/os';
// Hide decorations here because it doesn't work in Rust for some reason (bug?)
await appWindow.setDecorations(false);
const osType = await type();
if (osType !== 'Darwin') {
await appWindow.setDecorations(false);
}
await attachConsole();
await maybeRestorePathname();
@@ -19,12 +23,12 @@ const settings = await getSettings();
setAppearanceOnDocument(settings.appearance as Appearance);
document.addEventListener('keydown', (e) => {
// Don't go back in history on backspace
if (e.key === 'Backspace') e.preventDefault();
// Don't go back in history on backspace
if (e.key === 'Backspace') e.preventDefault();
});
createRoot(document.getElementById('root') as HTMLElement).render(
<StrictMode>
<App/>
</StrictMode>,
<StrictMode>
<App />
</StrictMode>,
);