欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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是有区别的,一个是'\',一个是'/',这个怎么全局化的处理呢?有谁知道么?

相关标签: Electron