mirror of
https://github.com/wavetermdev/waveterm.git
synced 2024-12-21 16:38:23 +01:00
e6003c310e
The Window Controls Overlay API applies a transparent overlay on Windows, but not on Linux. This PR addresses this by capturing the area underneath the overlay, averaging the color of the area, and setting this as the overlay background color. It will also detect whether to make the control symbols white or black, depending on how dark the background color is. On Linux, this will set both the background color and the symbol color, on Windows it will just set the symbol color. <img width="721" alt="image" src="https://github.com/user-attachments/assets/e6f9f8f8-a49f-41b6-984e-09e7d52c631d">
77 lines
2.0 KiB
TypeScript
77 lines
2.0 KiB
TypeScript
// Copyright 2024, Command Line Inc.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
import react from "@vitejs/plugin-react-swc";
|
|
import { defineConfig } from "electron-vite";
|
|
import flow from "rollup-plugin-flow";
|
|
import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
|
|
import { viteStaticCopy } from "vite-plugin-static-copy";
|
|
import svgr from "vite-plugin-svgr";
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
root: ".",
|
|
build: {
|
|
rollupOptions: {
|
|
input: {
|
|
index: "emain/emain.ts",
|
|
},
|
|
external: ["sharp"],
|
|
},
|
|
outDir: "dist/main",
|
|
},
|
|
plugins: [tsconfigPaths(), flow()],
|
|
resolve: {
|
|
alias: {
|
|
"@": "frontend",
|
|
},
|
|
},
|
|
},
|
|
preload: {
|
|
root: ".",
|
|
build: {
|
|
sourcemap: true,
|
|
rollupOptions: {
|
|
input: {
|
|
index: "emain/preload.ts",
|
|
},
|
|
output: {
|
|
format: "cjs",
|
|
},
|
|
},
|
|
outDir: "dist/preload",
|
|
},
|
|
plugins: [tsconfigPaths(), flow()],
|
|
},
|
|
renderer: {
|
|
root: ".",
|
|
build: {
|
|
target: "es6",
|
|
sourcemap: true,
|
|
outDir: "dist/frontend",
|
|
rollupOptions: {
|
|
input: {
|
|
index: "index.html",
|
|
},
|
|
},
|
|
},
|
|
server: {
|
|
open: false,
|
|
},
|
|
plugins: [
|
|
ViteImageOptimizer(),
|
|
tsconfigPaths(),
|
|
svgr({
|
|
svgrOptions: { exportType: "default", ref: true, svgo: false, titleProp: true },
|
|
include: "**/*.svg",
|
|
}),
|
|
react({}),
|
|
flow(),
|
|
viteStaticCopy({
|
|
targets: [{ src: "node_modules/monaco-editor/min/vs/*", dest: "monaco" }],
|
|
}),
|
|
],
|
|
},
|
|
});
|