polybar主题网上很多,但都并不是快速可用,需要很多繁琐配置,或者一大堆的色彩定制。
这个项目就是为了让这些繁琐操作可以更简单化。
解决问题
- 色彩方案
快速自动配置
,这是本项目的设计初衷,告别了频繁给每个module调色痛苦。 - 通过 launch.sh 启动脚本自动识别 分辨率(1080p/2K/4K),简化分辨率带来的外观差异。
- 双屏幕自动识别,并通过环境变量
MONITORX
获取地X
个屏幕名称,X开始于1
。 - 有趣的随机主题 random ,用过 ohmyzsh 的用户一定用过
random
每次都随机一个主题,换个样式,给单调乏味的生活添加一点惊喜。 - dpi/font_size/height 三个参数设置不合理时可能显示内容上下间距不同,解决方法:通过
vertical_offset
参数调整垂直对齐。
快速安装主题:
git clone https://github.com/switchToLinux/polybar-themes.git ~/.config/polybar_themes
# 选择一个主题名 (例如 random 随机一个主题) ,然后将下面这行放入 wm 的启动配置文件中
~/.config/polybar_themes/launch.sh random
为了快捷切换polybar 开关可以在自己的 i3wm 配置文件添加快捷键绑定:
bindsym $mod+n exec --no-startup-id "pgrep --oldest -f 'polybar.*main_top' > /tmp/tmp.polybar.pid && polybar-msg -p $(cat /tmp/tmp.polybar.pid) cmd toggle"
bindsym $mod+m exec --no-startup-id "pgrep --oldest -f 'polybar.*main_bottom' > /tmp/tmp.polybar.pid && polybar-msg -p $(cat /tmp/tmp.polybar.pid) cmd toggle"
- icon font : Font Awesome 6 Free , Material Icons , JetBrainsMono Nerd Font Mono
- emoji font : Noto Color Emoji
- text font : Noto Sans Mono CJK SC
使用JetBrainsMono Nerd Font
字体时会出现图标过大显示不全情况,换成JetBrainsMono Nerd Font Mono
就不存在这个问题,因此尽量选择等宽字体。
关于字体更加丰富信息可以参考阅读 archlinux Fonts。
以 zioer
主题布局为例,展示常见的分隔符样式效果
自动隐藏polybar使用了 hideIt.sh 脚本,
circle
主题默认配置了自动隐藏功能。
配置自动隐藏的方法:
- 设置bar的参数
override-redirect
为true
- 使用
xprop
获取窗口名称:xprop | grep WM_NAME
- 设置
hideIt.sh
参数和触发的区域信息(底部polybar的左下角触发):./hideIt.sh --name '^Polybar tray window$' --region 0x1080+10+-40
如下具体操作:
# Find the windows name
$ xprop | grep WM_NAME
WM_NAME(STRING) = "Polybar tray window"
# Hide it
$ ./hideIt.sh --name '^Polybar tray window$' --region 0x1080+10+-40
linux 的开源个性化定制也存在局限,总有人走第一条没有人走过的路,为后来者奠基。
如果你希望这个项目可以越来越好,最好的支持方式是 使用然后优化这个项目,让繁琐的配置可以简单化,模块化。
END