electron mac系统tray图标文件的特殊命名规范

本文转载自:https://newsn.net/

本文描述的是electron中的tray图标,在mac系统中的特殊应用。说它特殊,就是因为图标文件的名字会影响electron程序的表现。本文中描述的就是这种差异,本文的内容是以macbook promac系统为基础的。截至到发稿来说,window系统上,暂时没有类似的效果。

electron程序,mac系统tray图标文件的特殊命名规范

本文测试环境:macbook pro。龙套是electron-quick-start项目。

基础代码

基础代码是:

app.on('ready', () => {

tray = new Tray(path.join(__dirname,"<ico_file_name>"));

})

本文中就是重点描述<ico_file_name>的,请自行根据需求替换相关文本。另外,在mac系统中,最基本的图标尺寸是16*16@2x就是32*32

electron程序,mac系统tray图标文件的特殊命名规范

视网膜屏幕(@2x)

因为macbook pro电脑上搭载的是视网膜屏幕,当然了到底怎么个视网膜法,苏南大叔也是不知道的。最直观的感受就是:比苏南大叔的macbook air屏幕清晰的多。

那么,对于tray图标来说,如果代码里面写的是tray.png的话。那么在高分辨率情况下,程序可以自动识别[email protected]文件。高DPI的屏幕下,自动识别@2x,@3x图标文件。在苏南大叔的测试中,mbp首先识别到的是@2x文件。当@2x文件不存在的时候,尝试识别到了@3x文件

electron程序,mac系统tray图标文件的特殊命名规范

适应不同的系统皮肤(xxxTemplate)

这个特性就要提及[email protected]系统了,因为mojave这个版本的mac系统,提出了系统外观的概念。通俗的说,就是软件的系统皮肤,有lightdark两种情况。那么,对于图标文件来说,以Template为名称结尾的时候,就会自动触发自适应的黑白图标模式。图标本身是彩色的没有关系,electron会强制换成白加黑或者黑加白的图标。因为.png文件支持透明,所以,推荐的命名是:xxxTemplate.png,请自行替换xxx字样。

electron程序,mac系统tray图标文件的特殊命名规范

electron程序,mac系统tray图标文件的特殊命名规范

可以在mac系统的"系统偏好设置"的"通用"中,修改lightdark外观模式。如下图所示:

electron程序,mac系统tray图标文件的特殊命名规范

系统皮肤+视网膜屏幕([email protected])

这条技巧就是上述两条的合集,即支持硬件层面上的高分辨率,又支持软件层面上的lightdark模式。

electron程序,mac系统tray图标文件的特殊命名规范

总结

需要特殊说明的是:就目前苏南大叔的实验结果来看,使用Template命名的话,就会得到一个黑白的图标。否则就可以保持原有的图标颜色。这个,是否是您所想要的效果呢?

本文中,苏南大叔描述的都是在mac系统下的mbp上的特殊情况,当然,不排除有其它的机型也会遵守本文中的tray图标的特殊命名规范。

以上是 electron mac系统tray图标文件的特殊命名规范 的全部内容, 来源链接: utcz.com/a/118589.html

回到顶部