py3status:用 python 编写的可扩展 i3status 包装器
项目描述
py3状态
py3status是用 Python 编写的可扩展 i3status 包装器。
使用 py3status,您可以通过以下方式轻松控制 i3bar:
- 使用py3status 附带的可用 模块之一
- 将多个模块分组并自动或手动循环显示
- 编写您自己的模块并将其输出显示在您的栏上
- 处理 i3bar 上的点击事件并立即使用它们
- 无论您的 i3status 间隔如何,都可以看到您的时钟每秒滴答一次
无需额外的配置文件,安装即可享受!
关于
如果您使用i3wm (或sway)并且对 i3bar 上的 i3status 限制感到沮丧,您会喜欢 py3status ,例如:
- 你不能轻易入侵它
- 您想要的不仅仅是内置模块及其有限的配置
- 您无法轻松地在栏中通过管道传输多个脚本或命令之一的结果
哲学
- 没有添加配置文件,使用标准的 i3status.conf
- 尽可能依靠 i3status的优势和现有配置
- 是可扩展的,用户必须很容易通过编写一个简单的python类来添加自己的东西/输出,该类将被动态加载和执行
- 轻松实现与 i3bar 的交互
- 添加基本 i3status 模块输出的一些内置增强/转换
我们应用py3status 的 Zen来改进这个项目,并鼓励大家阅读它!
文档
最新文档:
在 IRC 上获得帮助或分享您的想法:
- OFTC上的频道#py3status
安装
查看您最喜欢的发行版的最新和完整的安装说明。
用法
在您的 i3 配置文件中,只需在您的status_command中从i3status切换到py3status:
status_command py3status
通常你有自己的 i3status 配置,只需指向它:
status_command py3status -c ~/.i3/i3status.conf
选项
您可以通过发出 `py3status -h` 查看 py3status 的帮助:
usage: py3status [-h] [-b] [-c FILE] [-d] [-g] [-i PATH] [-l FILE] [-s]
[-t INT] [-m] [-u PATH] [-v] [--wm WINDOW_MANAGER]
The agile, python-powered, i3status wrapper
optional arguments:
-h, --help show this help message and exit
-b, --dbus-notify send notifications via dbus instead of i3-nagbar
(default: False)
-c, --config FILE load config (default: /home/alexys/.i3/i3status.conf)
-d, --debug enable debug logging in syslog and --log-file
(default: False)
-g, --gevent enable gevent monkey patching (default: False)
-i, --include PATH append additional user-defined module paths (default:
None)
-l, --log-file FILE enable logging to FILE (default: None)
-s, --standalone run py3status without i3status (default: False)
-t, --timeout INT default module cache timeout in seconds (default: 60)
-m, --disable-click-events
disable all click events (default: False)
-u, --i3status PATH specify i3status path (default: /usr/bin/i3status)
-v, --version show py3status version and exit (default: False)
--wm WINDOW_MANAGER specify window manager i3 or sway (default: i3)
可用模块
py3status 附带的所有模块都可以直接从您当前的 i3status.conf 配置!
检查它们 以查看所有配置选项。
从 CLI 控制
就像 i3status 一样,您可以通过向 py3status 发送 SIGUSR1 信号来强制更新 i3bar。请注意,这也会向 i3status 发送一个 SIGUSR1 信号:
killall -USR1 py3status
要刷新单个模块, 可以使用py3-cmd实用程序,例如:
py3-cmd refresh wifi