fix(titlebar): window control not working (#502)
This commit is contained in:
@@ -30,19 +30,9 @@ let make = (~height: int) => {
|
||||
|
||||
let _title = playingState.isPlaying ? `Beatconnect \\u23F5 ${songTitle}bot` : "Beatconnect"
|
||||
|
||||
// let window = Remote.getCurrentWindow(Remote.remote)
|
||||
// window->BrowserWindow.setTitle(title)
|
||||
|
||||
// let onMinimizeClick = _e => BrowserWindow.minimize(window)
|
||||
// let onCloseClick = _e => BrowserWindow.close(window)
|
||||
// let onMaximizeClick = _e =>
|
||||
// BrowserWindow.isMaximized(window)
|
||||
// ? BrowserWindow.unmaximize(window)
|
||||
// : BrowserWindow.maximize(window)
|
||||
|
||||
let onMinimizeClick = _ => ()
|
||||
let onCloseClick = _ => ()
|
||||
let onMaximizeClick = _ => ()
|
||||
let onMinimizeClick = _ => IPCRenderer.send(MINIMIZE_WINDOW)
|
||||
let onCloseClick = _ => IPCRenderer.send(CLOSE_WINDOW)
|
||||
let onMaximizeClick = _ => IPCRenderer.send(MAXIMIZE_WINDOW)
|
||||
|
||||
<div className={makeWrapperStyle()}>
|
||||
<div className={makeControlStyle(~spacer=true, ())} onClick=onMinimizeClick>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const log = require('electron-log');
|
||||
const { error } = require('electron-log');
|
||||
const { ipcMain, dialog, shell } = require('electron');
|
||||
const { ipcMain, dialog, shell, BrowserWindow } = require('electron');
|
||||
const fs = require('fs').promises;
|
||||
const { join } = require('path');
|
||||
const { downloadAndSetWallpaper } = require('./wallpaper');
|
||||
const { readCollectionDB, writeCollectionDB } = require('./helpers/osuCollections/collections.utils');
|
||||
const { readCollectionDB } = require('./helpers/osuCollections/collections.utils');
|
||||
const startPullingOsuState = require('./threads/osuIsRunning');
|
||||
const scanOsuDb = require('./threads/osuSongsScan');
|
||||
const { exists } = require('./helpers');
|
||||
@@ -86,3 +86,25 @@ ipcMain.handle('is-dir', async (event, path) => {
|
||||
});
|
||||
|
||||
ipcMain.handle('dialog', (event, method, params) => dialog[method](params));
|
||||
|
||||
ipcMain.on('MINIMIZE_WINDOW', () => {
|
||||
const window = BrowserWindow.getFocusedWindow();
|
||||
if (window) {
|
||||
window.minimize();
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('MAXIMIZE_WINDOW', () => {
|
||||
const window = BrowserWindow.getFocusedWindow();
|
||||
if (window) {
|
||||
if (window.isMaximized()) window.unmaximize();
|
||||
else window.maximize();
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('CLOSE_WINDOW', () => {
|
||||
const window = BrowserWindow.getFocusedWindow();
|
||||
if (window) {
|
||||
window.close();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -15,11 +15,17 @@ type updateThumbBarData = {
|
||||
type channel =
|
||||
| UPDATE_THUMB_BAR(updateThumbBarData)
|
||||
| UPDATE_PLAY_STATE(bool)
|
||||
| CLOSE_WINDOW
|
||||
| MINIMIZE_WINDOW
|
||||
| MAXIMIZE_WINDOW
|
||||
|
||||
let send = channel =>
|
||||
switch channel {
|
||||
| UPDATE_THUMB_BAR(data) => send(ipcRenderer, "UPDATE_THUMB_BAR", data)
|
||||
| UPDATE_PLAY_STATE(isPlaying) => send(ipcRenderer, "UPDATE_PLAY_STATE", isPlaying)
|
||||
| CLOSE_WINDOW => send(ipcRenderer, "CLOSE_WINDOW", ())
|
||||
| MINIMIZE_WINDOW => send(ipcRenderer, "MINIMIZE_WINDOW", ())
|
||||
| MAXIMIZE_WINDOW => send(ipcRenderer, "MAXIMIZE_WINDOW", ())
|
||||
}
|
||||
|
||||
let on = (channel, callback) => on(ipcRenderer, channel, callback)
|
||||
|
||||
Reference in New Issue
Block a user