Electron在Mac下,对于系统主题的识别以及任务栏图标的处理
程序员文章站
2021-12-25 10:58:32
...
Electron中,对于Mac的主题,过去是通过systemPreferences.isDarkMode()方法判断,新版的Electron中,已经建议全部更换成nativeTheme了。下面是示例代码:
//判断是否为OSX
if(process.platform=="darwin"){
console.log('is Mac');
//当桌面主题更新时
nativeTheme.on('updated',()=>{
console.log('i am changed')
if(nativeTheme.shouldUseDarkColors){
console.log("i am dark.")
tray.setImage('app/img/icon_white.png')
}else{
console.log("i am light.")
tray.setImage('app/img/icon.png')
tray.setPressedImage('app/img/icon_white.png')
}
})
}else{
console.log('not Mac');
}
在不同主题下,程序的任务栏图标是有区别的,否则就不够高大上了,这也是苹果给开发者找的麻烦……
另外,还有个问题我没弄明白,居然在js里的文件路径写法上,mac和win是有区别的,一个是'\',一个是'/',这个怎么全局化的处理呢?有谁知道么?