Yasb - 又一个状态栏
一个用Python编写的高度可配置的跨平台(Windows)状态栏。
这是什么?
Yasb(又一个状态栏)是一个用Python和Qt6 GUI框架编写的高度可配置的状态栏。Yasb的当前目标是为Windows平台带来一个类似polybar/waybar的状态栏。然而,由于Yasb是用Python + Qt6编写的,它具有跨平台能力。通过一些小调整和特定操作系统的小部件,Yasb也可以配置为在Linux和Mac OSX上运行。
它能看起来怎样?
尽管Yasb提供了默认的样式表和配置文件,但用户可以完全控制他们的状态栏的结构和外观。
配置文件允许对一个或多个任务栏进行广泛的配置,而Yasb使用的样式表则允许完全控制状态栏及其嵌套小部件的外观。从字体和颜色到圆角、内边距和不透明度,一切都可以更改。
有关默认栏配置的示例,请参见下图:
一些有趣的特性:
- 多显示器和显示器专属任务栏
- 每个显示器可以有多个栏
- 顶部、底部和居中栏对齐
- 通过用户定义的样式表实现完全的UI定制
- 通过用户定义的配置文件实现广泛的配置
- 配置和样式表验证
- 可配置的任务栏小部件
- 活动窗口标题(和其他窗口信息)
- 具有可自定义功能的电池小部件
- 支持多时区的时钟小部件
- 带JSON解析的自定义(命令行)小部件
- 内存和CPU监控小部件
- Komorebi WM 工作区小部件
- 以及更多...
待办事项列表
- 文档(Wiki正在进行中)
-
屏幕连接/断开事件的自动栏创建/删除 -
新的上、左、下、右内边距设置 -
配置/样式表自动加载(通过文件监视器) -
窗口模糊效果 - SCSS样式表支持
- 用于切换栏开/关的托盘选项
- 改进默认CSS样式表
- 媒体播放器小部件 - 进行中
- 磁盘空间小部件
- 键盘状态小部件
- 蓝牙(?)小部件
- 音量小部件
- 背光小部件
- 时钟小部件的日历弹出窗口
如何运行?
- 安装Python 3.10
- 安装所需的Python模块:
- pip install -r requirements.txt
- 创建目录
C:/Users/{username}/.yasb/
并将styles.css和config.yaml复制到该文件夹中。- 根据您的喜好配置styles.css和config.yaml。
- 启动应用程序:
- 在终端中运行
python src/main.py
(或创建一个启动快捷方式)
- 在终端中运行
如果我发现了一个bug,我该怎么办?
这个项目仍处于早期开发阶段...如果您遇到任何bug,请提交一个issue :bug:
注意:提交bug报告时,请附上日志文件以及重现步骤,这会很有帮助!
如何配置?
所有任务栏可以在用户自定义的YAML配置文件config.yaml中进行配置,该文件位于以下目录之一:
C:/Users/{username}/.yasb/config.yaml
/path/to/yasb/src/config.yaml
所有任务栏也可以使用可配置的样式表styles.css进行样式设置:
C:/Users/{username}/.yasb/styles.css
/path/to/yasb/src/styles.css
注意:如果用户的$HOME/.yasb
目录中不存在任何配置文件(或者它们包含错误),将会加载默认配置和样式表。您可能还会看到一个弹出错误对话框,显示哪些代码行包含语法错误。
故障排除
为什么任务栏中的图标显示不正确?
默认情况下,yasb使用Font Awesome 5 Free图标字体。如果您的系统中未安装此字体,这可能是图标无法正确显示的原因。
如果您想使用不同的图标字体,只需在样式表文件中将通配符font-family CSS规则更改为您喜欢的图标字体:
* {
font-family: 'Courier New', 'Font Awesome 5 Free';
font-size: 16px;
...
}
为什么Komorebi工作区小部件不能正常工作?
Yasb附带的Komorebi工作区小部件要求您运行komorebi v0.18.0或更高版本。这是因为早期的komorebi版本不支持通过Windows命名管道与外部应用程序进行基于套接字的通信。 如果您运行的是旧版本的komorebi,yasb将无法查询komorebi以获取工作区信息。
注意:Yasb直接通过subprocess模块执行komorebic.exe命令。要使其正常工作,您必须将komoreb.exe
和komorebic.exe
添加到系统PATH中。
贡献
欢迎对yasb进行贡献。这个项目最初是作为一个实验开始的,现在已经发展成为我每天都在使用的东西。如果您发现这个软件很有用,但认为有改进的空间(可能有很多),请随时提交Pull Request。
开发环境
您只需要Python 3.9或更高版本即可开始。
代码检查
项目使用pylama进行代码检查:
pip install pylama
python -m pylama
# 或者直接运行 'pylama'
- 代码检查工具在pylama.ini中配置
- 如果您选择贡献,请事先对您的代码进行检查。
提交格式和Pull Requests
- 提交消息应该遵循Conventional Commits规范。
- Pull Requests应该在这里提交