From a8bda0a11b3fc77e9a227dcb4499b4941304e0fa Mon Sep 17 00:00:00 2001 From: lucaronin Date: Fri, 1 May 2026 07:01:58 +0200 Subject: [PATCH] fix: allow linux window controls --- src-tauri/capabilities/default.json | 3 +++ .../tauriWindowControlPermissions.test.ts | 25 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/utils/tauriWindowControlPermissions.test.ts diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index f51649bf..abce19e3 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -11,6 +11,9 @@ "core:default", "core:window:allow-create", "core:window:allow-start-dragging", + "core:window:allow-start-resize-dragging", + "core:window:allow-minimize", + "core:window:allow-toggle-maximize", "core:window:allow-close", "core:window:allow-set-title", "core:webview:allow-create-webview-window", diff --git a/src/utils/tauriWindowControlPermissions.test.ts b/src/utils/tauriWindowControlPermissions.test.ts new file mode 100644 index 00000000..e4df5998 --- /dev/null +++ b/src/utils/tauriWindowControlPermissions.test.ts @@ -0,0 +1,25 @@ +import { readFileSync } from 'node:fs' + +interface TauriCapability { + permissions: string[] +} + +const LINUX_WINDOW_CHROME_PERMISSIONS = [ + 'core:window:allow-start-dragging', + 'core:window:allow-start-resize-dragging', + 'core:window:allow-minimize', + 'core:window:allow-toggle-maximize', + 'core:window:allow-close', +] as const + +describe('Tauri window-control permissions', () => { + it('allows the APIs used by Linux custom window chrome', () => { + const capability = JSON.parse( + readFileSync(`${process.cwd()}/src-tauri/capabilities/default.json`, 'utf8'), + ) as TauriCapability + + expect(capability.permissions).toEqual( + expect.arrayContaining([...LINUX_WINDOW_CHROME_PERMISSIONS]), + ) + }) +})