14 个版本
| 0.2.18 | 2022年7月10日 |
|---|---|
| 0.2.17 |
|
| 0.2.15 | 2021年6月10日 |
| 0.2.11 | 2021年5月27日 |
| 0.1.0 |
|
#89 在 科学
每月54次下载
39KB
523 行
I3owm 
Open Weather Map 和 open-notify (ISS 搜索) 的 rust 实现作为 i3status 的附加组件
内容
安装
要从 Rust 社区存储库安装此软件包,必须已安装 Rust 和 Cargo。然后在终端中输入以下内容:
cargo install i3owm
使用方法
程序参数
必需参数
| 选项 | 参数 | 描述 |
|---|---|---|
-k、--apikey |
<apikey> |
设置 OpenWeatherMap API 密钥(请参阅https://openweathermap.org/price) |
选项
| 选项 | 描述 |
|---|---|
-b、--blink |
当 ISS 可见时让 ISS 图标闪烁 |
-h、--help |
打印帮助信息 |
-n、--notify |
显示关于 ISS 可见的通知 |
-r、--reverse |
反转位置(从右侧开始) |
-t、--test |
不处理来自 stdin 的 i3status,而是显示格式化字符串 |
-V、--version |
打印版本信息 |
可选参数
| 选项 | 参数描述 | 默认值 |
|---|---|---|
-f、--format |
包含以下键之一或多个的格式化字符串 | {city} {icon} {temp}{temp_unit} |
-c、--location |
城市名称后可能跟有逗号分隔的两位字母(美国的州代码和)国家代码(ISO3166)或城市ID(见https://openweathermap.org/find)或地理坐标,以逗号分隔的纬度和经度。 | 柏林,DE |
-C, --cloudiness |
ISS可视的最大云量百分比 | 25 |
-l, --lang |
天气描述的两位语言代码 | en |
-L, --level |
ISS最小显示级别:watch:可见的持续时间;soon:可见的延迟;rise:发现时间;far:最大预测时间 |
soon |
-P, --poll |
轮询周期的持续时间(分钟) | 10 |
-p, --position |
在i3status中输出位置的JSON | 0 |
-s, --soon |
ISS上升为"soon"的分钟数 | 15 |
-u, --units |
使用英制单位(metric,imperial或standard) |
metric |
-T, --prediction |
设置预测ISS观测点的数量 | 100 |
使用 --level、--soon 和 --prediction 进行 ISS 搜索
关于--level的功能以及它与--soon和--prediction的可选参数如何交互的说明
使用--level你可以设置你得到的内容
| 级别 | 何时 | 格式 | 示例 |
|---|---|---|---|
watch |
仅在当前可见时 | 🛰+持续时间 |
🛰+03:12 |
soon |
仅在soon内可见时 | 🛰-持续时间 |
🛰-12:34 |
rise |
有任何预测时 | 🛰*[日期] 时间* |
🛰12:15 |
far |
无预测时的预测时间(天数) | 🛰>天数 |
🛰>16 |
级别是递增的。所以如果你将级别设置为rise,你也会看到soon和watch事件。
如果事件在选项--soon设置的分钟数内发生,则该事件是"soon"。
--prediction参数给出的值设置了将从中获取的观测事件数量api.open-notify.org。因此,此值以某种方式限制了预测时间。由api.open-notify.org提供的事件数量最多为100。
显示格式
可用属性
通过在格式字符串中插入以下属性键来选择你的显示格式
| 键 | 描述 | 示例 |
|---|---|---|
{city} |
城市名称 | 柏林 |
{main} |
天气参数组 | Clouds |
{description} |
组内的天气状况 | scattered clouds |
{icon} |
天气图标 | 🌞,🌛,🌤,⛅,🌧,🌦,🌩,❄,🌫 |
{pressure} |
大气压力(海平面或地面),hPa | 1010 |
{humidity} |
湿度,% | 45 |
{wind} |
风向 | N,NO,O,SO,S,SW,W,NW |
{wind_icon} |
风向的箭头图标 | ↓、↙、←、↖、↑、↗、→、↘ |
{wind_speed} |
风速 | m/s、mi/h |
{wind_deg} |
风向,度数(气象) | 56 |
{deg_unit} |
方向单位 | ° |
{visibility} |
能见度,米 | 10000 |
{visibility_km} |
能见度,千米 | 10 |
{rain.1h} |
过去1小时的降雨量,毫米 | 12 |
{rain.3h} |
过去3小时的降雨量,毫米 | 32 |
{snow.1h} |
过去1小时的降雪量,毫米 | 11 |
{snow.3h} |
过去3小时的降雪量,毫米 | 24 |
{temp_min} |
此时的最低温度 | -8 |
{temp_max} |
此时的最高温度 | 10 |
{feels_like} |
人类感知的气温 | 8 |
{temp} |
温度 | 15 |
{temp_unit} |
温度 | °C、°F、K |
{speed_unit} |
风速单位 | m/s |
{update} |
上次更新当地时间 | 12:45 |
{iss} |
ISS观测时间,延迟或持续时间 | +01:15 , -02:21, 12:10, >16 |
{iss_icon} |
如果ISS可见则显示图标 | 🛰 |
{iss_space} |
如果显示任何ISS信息,则插入空格(' ') |
|
测试您的显示格式
为了便于测试,i3owm 有一个选项 -t(或 --test),该选项禁用了从 i3status 处理输入,并仅产生 i3owm 相关的输出字符串。我们使用该选项来测试一些不带 i3status 的示例。
天气
要获取天气,可以使用以下命令行
i3owm -t -k <key> -c Berlin,DE -f '{icon} {temp}{temp_unit} 💧{humidity}%'
输出
loading...
⛅ 11°C 💧55%
ISS 搜索事件
要获取ISS观测事件,可以使用以下参数
i3owm -t -Lrise -k <key> -c Berlin,DE -f 'before {iss_icon}{iss}{iss_space}after'
此示例将显示卫星图标、ISS观测时间和空格 分隔符,如果可以做出任何预测
输出
loading...
before 🛰+03:12 after
...或者...
loading...
before after
...如果没有ISS状态。
这意味着ISS已经可见3分12秒。
复杂示例
在此复杂示例中,我们使用以下参数
i3owm -tnb -Lrise -C100 -k <key> -cBerlin -f'{iss_icon}{iss}{iss_space}{icon} {temp}{temp_unit} 💧{humidity}% {wind_icon}{wind_speed}{speed_unit} ({update})'
输出
loading...
⛅ 14°C 💧70% ↑2m/s (13:47)
🛰16:37 ⛅ 14°C 💧70% ↑2m/s (13:47)
集成到 i3status 中
要将您的 i3owm 命令行用于您的 i3 配置,您需要删除选项 -t 并将管道符号 | 和您的命令行附加到您的 it(通常在 .config/i3/config)。
bar {
status_command i3status | i3owm <your options>
}
参考文档
除了这个介绍之外,还有一个源代码的参考文档,可以在这里找到。
链接
网站
在i3owm.thats-software.com上阅读这份README更有趣。
github 仓库
有关源代码,请参阅 github.com 上的此存储库。
在 crates.io
在crates.io上发布。
许可协议
i3status_ext 采用 MIT 许可证(LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
依赖关系
~9–43MB
~683K SLoC