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 或 http://opensource.org/licenses/MIT)
依赖关系
~9–43MB
~683K SLoC