说明如何处理插件状态
作者: sellout创建于 2025年10月29日更新于 2025年10月29日
鉴于一些评论如 https://GitHub.com/matryer/xbar/issues/133#issuecomment-169642832 和 https://GitHub.com/matryer/xbar/issues/609#issuecomment-784281354,似乎 xbar 根本不处理状态,而是让脚本直接进行文件 I/O。这并没有问题,但
- 我花了一段时间才发现这个问题;
- 我仍然不确定情况是否仅如此;
- 你可能有其他有用的建议。 我能想到的一些建议是:
- “将文件放在
~/.Application Support/xbar/plugin-state/<plugin-name>/” (或者可能是…/xbar/cache/<plugin-name>/); - 或者,可能恰恰相反 - “不要将东西存储在 xbar 目录中”;
- 根据 macOS 的功能和限制,这些位置可能会或多或少成功(例如,我不希望出现“my-script.py 要求完全访问文件系统”的通知)。
我的实际问题(如果有现有方法能够以某种方式解决我的用例)
(如果有现有方法能够以某种方式解决我的用例。)
在我的特定情况下,我有一个插件,每分钟从 Internet 获取数据。当它失败(比如,我旅行时笔记本电脑经常离线)时,我只会在菜单栏中看到一个错误消息。但是,它不需要持续获取数据 - 只有当 IP 地址自上次获取以来发生变化时。因此,我计划存储上次获取时的 IP 地址,以及获取的数据(即一个单一数字)。如果我们离线,我们只需使用上次获取时的最新数字,如果我们在线,则在 IP 地址不匹配时获取数据。
内容来源: matryer/xbar