Allow disabling window decorations/controls (#176)

Co-authored-by: Gregory Schier <gschier1990@gmail.com>
This commit is contained in:
Desperate Necromancer
2025-05-17 03:33:59 +07:00
committed by GitHub
parent 432b366105
commit be82b67ed3
17 changed files with 75 additions and 58 deletions

View File

@@ -1,8 +1,10 @@
import { getCurrentWebviewWindow } from '@tauri-apps/api/webviewWindow';
import { type } from '@tauri-apps/plugin-os';
import { settingsAtom } from '@yaakapp-internal/models';
import classNames from 'classnames';
import { useAtomValue } from 'jotai';
import React, { useState } from 'react';
import { useOsInfo } from '../hooks/useOsInfo';
import {WINDOW_CONTROLS_WIDTH} from "../lib/constants";
import { WINDOW_CONTROLS_WIDTH } from '../lib/constants';
import { Button } from './core/Button';
import { HStack } from './core/Stacks';
@@ -14,10 +16,9 @@ interface Props {
export function WindowControls({ className, onlyX }: Props) {
const [maximized, setMaximized] = useState<boolean>(false);
const osInfo = useOsInfo();
// Never show controls on macOS
if (osInfo.osType === 'macos') {
const settings = useAtomValue(settingsAtom);
// Never show controls on macOS or if hideWindowControls is true
if (type() === 'macos' || settings.hideWindowControls) {
return null;
}