fix: fullscreen button not working

This commit is contained in:
talksik
2026-03-25 15:54:42 -07:00
parent d525d6a588
commit 739bb0cf80
4 changed files with 8 additions and 1 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ export function WindowControls() {
</svg> </svg>
</button> </button>
<button <button
onClick={() => window.electronWindow.maximize()} onClick={() => window.electronWindow.fullscreen()}
className="group flex h-3 w-3 items-center justify-center rounded-full bg-[#28C840] transition-colors hover:bg-[#28C840]/80" className="group flex h-3 w-3 items-center justify-center rounded-full bg-[#28C840] transition-colors hover:bg-[#28C840]/80"
aria-label="Maximize" aria-label="Maximize"
> >
+1
View File
@@ -5,6 +5,7 @@ declare global {
electronWindow: { electronWindow: {
minimize: () => void; minimize: () => void;
maximize: () => void; maximize: () => void;
fullscreen: () => void;
close: () => void; close: () => void;
}; };
electronLink: { electronLink: {
+5
View File
@@ -28,6 +28,7 @@ const createWindow = () => {
width: 715, width: 715,
height: 550, height: 550,
resizable: false, resizable: false,
fullscreenable: true,
frame: false, frame: false,
webPreferences: { webPreferences: {
preload: path.join(__dirname, 'preload.js'), preload: path.join(__dirname, 'preload.js'),
@@ -60,6 +61,10 @@ ipcMain.on('window:maximize', (event) => {
ipcMain.on('window:close', (event) => { ipcMain.on('window:close', (event) => {
BrowserWindow.fromWebContents(event.sender)?.close(); BrowserWindow.fromWebContents(event.sender)?.close();
}); });
ipcMain.on('window:fullscreen', (event) => {
const win = BrowserWindow.fromWebContents(event.sender);
if (win) win.setFullScreen(!win.isFullScreen());
});
// --- Link metadata --- // --- Link metadata ---
+1
View File
@@ -5,6 +5,7 @@ import { contextBridge, ipcRenderer } from 'electron';
contextBridge.exposeInMainWorld('electronWindow', { contextBridge.exposeInMainWorld('electronWindow', {
minimize: () => ipcRenderer.send('window:minimize'), minimize: () => ipcRenderer.send('window:minimize'),
maximize: () => ipcRenderer.send('window:maximize'), maximize: () => ipcRenderer.send('window:maximize'),
fullscreen: () => ipcRenderer.send('window:fullscreen'),
close: () => ipcRenderer.send('window:close'), close: () => ipcRenderer.send('window:close'),
}); });