新增播放歌曲时阻止电脑休眠(#1563)

This commit is contained in:
lyswhut
2024-01-22 12:42:46 +08:00
parent 47635c95e1
commit b13f10d624
13 changed files with 89 additions and 3 deletions
@@ -25,7 +25,7 @@ import {
showSaveDialog,
} from '@main/modules/winMain'
import { quitApp } from '@main/app'
import { getAllThemes, removeTheme, saveTheme } from '@main/utils'
import { getAllThemes, removeTheme, saveTheme, setPowerSaveBlocker } from '@main/utils'
import { openDirInExplorer } from '@common/utils/electron'
export default () => {
@@ -55,6 +55,9 @@ export default () => {
mainOn(WIN_MAIN_RENDERER_EVENT_NAME.focus, () => {
showWindow()
})
mainOn<boolean>(WIN_MAIN_RENDERER_EVENT_NAME.set_power_save_blocker, ({ params: enabled }) => {
setPowerSaveBlocker(enabled)
})
mainOn<boolean>(WIN_MAIN_RENDERER_EVENT_NAME.close, ({ params: isForce }) => {
if (isForce) {
app.exit(0)
+13 -1
View File
@@ -5,7 +5,7 @@ import { STORE_NAMES, URL_SCHEME_RXP } from '@common/constants'
import defaultSetting from '@common/defaultSetting'
import defaultHotKey from '@common/defaultHotKey'
import { migrateDataJson, migrateHotKey, migrateUserApi, parseDataFile } from './migrate'
import { nativeTheme } from 'electron'
import { nativeTheme, powerSaveBlocker } from 'electron'
import { joinPath } from '@common/utils/nodejs'
import themes from '@common/theme/index.json'
@@ -280,3 +280,15 @@ export const getTheme = () => {
},
}
}
let powerSaveBlockerId: number | null = null
export const setPowerSaveBlocker = (enabled: boolean) => {
let isEnabled = powerSaveBlockerId != null && powerSaveBlocker.isStarted(powerSaveBlockerId)
if (enabled) {
if (isEnabled) return
powerSaveBlockerId = powerSaveBlocker.start('prevent-app-suspension')
} else {
if (!isEnabled) return
if (powerSaveBlocker.stop(powerSaveBlockerId!)) powerSaveBlockerId = null
}
}