Xmobar中"-w"参数无效,MultiCpu模块无法保持固定宽度
Xmobar MultiCpu模块固定宽度问题解决方法
问题根源
你使用的-w参数是MultiCpu模块的单核心进度条宽度设置(像素单位),并非用来固定整个模块的字符长度,所以无法实现你想要的30字符固定宽度效果。
有效解决方案
方案1:模板内指定模块宽度
Xmobar支持在模板中直接给模块设置固定字符宽度,语法为%<模块名>:<字符宽度>%,修改你的template配置行即可:
template = "%XMonadLog% }{ | %multicpu:30% | %kbd% | %memory% | %date% | %_XMONAD_TRAYPAD%",
(注:你原模板中重复写了%memory%,建议删除其中一个)
方案2:用字体标签强制像素宽度
如果方案1的字符宽度不符合视觉预期,可利用<fc>标签的width属性强制设置像素宽度(需确保使用等宽字体,你当前的FiraCode Nerd Font满足要求):
template = "%XMonadLog% }{ | <fc=,width=240>%multicpu%</fc> | %kbd% | %memory% | %date% | %_XMONAD_TRAYPAD%",
这里的240是像素值,按8号等宽字体计算,30字符约对应240像素,可根据实际显示效果微调。
内容的提问来源于stack exchange,提问作者Refael Sheinker
相关产品推荐
相关产品推荐

