feat: Basic general context menu
All checks were successful
Queue Release Build / prepare (push) Successful in 14s
Deploy Web Apps / deploy (push) Successful in 14m39s
Queue Release Build / build-linux (push) Successful in 40m59s
Queue Release Build / build-windows (push) Successful in 28m59s
Queue Release Build / finalize (push) Successful in 1m58s

This commit is contained in:
2026-04-04 05:00:45 +02:00
parent 4a41de79d6
commit 0865c2fe33
9 changed files with 269 additions and 11 deletions

View File

@@ -4,6 +4,8 @@ import {
desktopCapturer,
dialog,
ipcMain,
nativeImage,
net,
Notification,
shell
} from 'electron';
@@ -503,4 +505,34 @@ export function setupSystemHandlers(): void {
await fsp.mkdir(dirPath, { recursive: true });
return true;
});
ipcMain.handle('copy-image-to-clipboard', (_event, srcURL: string) => {
if (typeof srcURL !== 'string' || !srcURL) {
return false;
}
return new Promise<boolean>((resolve) => {
const request = net.request(srcURL);
request.on('response', (response) => {
const chunks: Buffer[] = [];
response.on('data', (chunk) => chunks.push(chunk));
response.on('end', () => {
const image = nativeImage.createFromBuffer(Buffer.concat(chunks));
if (!image.isEmpty()) {
clipboard.writeImage(image);
resolve(true);
} else {
resolve(false);
}
});
response.on('error', () => resolve(false));
});
request.on('error', () => resolve(false));
request.end();
});
});
}