最近花了几个晚上,写了一个还未完成的 menubar app ,大致上参照 Coin Tick 实现,代码也开源:2nthony/coin-ticker 。
原因是不久前发现 tauri app 在 menubar 上表现还挺可以的,于是也想着写一个 app 玩玩。到今天为止核心功能的完成度已经可以了,起码对我自己来说是;样式啥的懒得写了,又不是天天蹲着这些界面看🤨。
唯一瑕疵是我还未找到有什么办法隐藏 menubar 的图标,因为我觉得有点多余。目前的解决方案是创建一个 Empty 图标,瑕疵是看上去是空的,实际上是有一个标准大小的空占位,所以当图标排列开后看上去会很别扭:
let tray = SystemTray::new()
.with_menu(tray_menu)
.with_icon(Icon::Rgba {
rgba: vec![0, 0, 0, 0],
width: 1,
height: 1,
});
这是一组系统资源占用数据对比,虽不及原生节省,但无伤大雅。
Coin Tick 原版 | Coin Ticker 文中介绍的 | |
---|---|---|
CPU | 常态小于 1 | 常态小于 1 * 3 |
内存(MB) | ≈46 | 60 + 36 + 8 ≈ 100 |
tauri app 能做的事情,貌似还能有很多:列一些脑洞(可以是替代品、社区上已有的实现,不一定有实现的价值
- 轻量的 spotlight ,可以模拟实现一些插件,例如运行一些命令行,
@bitwarden/cli
- 图床上传
- 根据机器负载情况状态栏有只猫的跑路速度(社区有
- tauri 有更新托盘图标的 api
- …