fix(windows): enlarge taskbar icon artwork and lettering
@@ -18,6 +18,7 @@
|
||||
"knip": "knip",
|
||||
"typecheck": "tsrs --noEmit && tsrs -p tsconfig.node.json --noEmit && tsrs -p perf --noEmit && tsrs -p scripts --noEmit",
|
||||
"gen:bindings": "cargo test -p openidea --test export_bindings",
|
||||
"gen:windows-icons": "node scripts/gen-windows-icons.ts",
|
||||
"gen:angular-grammar": "lezer-generator src/editor/core/cm/angular/angular.grammar --typeScript -o src/editor/core/cm/angular/parser.ts",
|
||||
"gen:theme-docs": "node scripts/theme/gen-docs.ts",
|
||||
"theme:import-intellij": "node scripts/theme/import-intellij-theme.ts",
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import { spawnSync } from "node:child_process";
|
||||
import { copyFileSync, mkdtempSync, realpathSync, rmSync } from "node:fs";
|
||||
import { createRequire } from "node:module";
|
||||
import { tmpdir } from "node:os";
|
||||
import { dirname, join } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const root = fileURLToPath(new URL("..", import.meta.url));
|
||||
const icons = join(root, "src-tauri", "icons");
|
||||
const tempRoot = realpathSync(tmpdir());
|
||||
const output = mkdtempSync(join(tempRoot, "openidea-windows-icons-"));
|
||||
function removeOutput() {
|
||||
// Only remove the unique directory this invocation created inside the system temp directory.
|
||||
if (dirname(realpathSync(output)) !== tempRoot) throw new Error("Unexpected icon output directory");
|
||||
rmSync(output, { recursive: true, force: true });
|
||||
}
|
||||
try {
|
||||
const cli = createRequire(import.meta.url).resolve("@tauri-apps/cli/tauri.js");
|
||||
const result = spawnSync(
|
||||
process.execPath,
|
||||
[cli, "icon", join(icons, "source", "openidea-windows.svg"), "--output", output],
|
||||
{ cwd: root, stdio: "inherit" },
|
||||
);
|
||||
if (result.error) throw result.error;
|
||||
if (result.status !== 0) throw new Error(`Icon generation failed (${result.status})`);
|
||||
for (const name of [
|
||||
"icon.ico",
|
||||
"StoreLogo.png",
|
||||
...[30, 44, 71, 89, 107, 142, 150, 284, 310].map((size) => `Square${size}x${size}Logo.png`),
|
||||
]) {
|
||||
copyFileSync(join(output, name), join(icons, name));
|
||||
}
|
||||
} finally {
|
||||
removeOutput();
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 710 B After Width: | Height: | Size: 876 B |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 993 B After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 100 100" role="img" aria-label="OpenIDEA">
|
||||
<rect x="2" y="2" width="96" height="96" rx="22" fill="#EAE7E0"/>
|
||||
<g transform="translate(50 50) scale(1.5) translate(-50 -52)">
|
||||
<rect x="22" y="26" width="56" height="52" rx="12" fill="#D9582C"/>
|
||||
<rect x="27" y="26" width="46" height="42" rx="9" fill="#1B1A1A"/>
|
||||
<g transform="translate(50 46) scale(1.35) translate(-50 -46)">
|
||||
<circle cx="44" cy="47.4" r="4.1" fill="none" stroke="#EAE7E0" stroke-width="2.7"/>
|
||||
<rect x="54.3" y="42" width="2.8" height="10.5" fill="#EAE7E0"/>
|
||||
<rect x="51.2" y="42" width="5.9" height="2.5" fill="#EAE7E0"/>
|
||||
<rect x="51.2" y="50" width="9.4" height="2.5" fill="#EAE7E0"/>
|
||||
<circle cx="55.7" cy="38.4" r="1.8" fill="#EAE7E0"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 850 B |