xmobar 卡在更新中
xmobar stuck on Updating
所以我第一次安装了 xmobar,并借助文档和一些 YouTube 视频对它进行了一些修改。当我重新加载 xmonad wm 时,我得到了 xmobar 栏,但它停留在更新中...
我会提供配置文件。提前致谢!
Config
{ --APPERANCE
--FONTS
font = "xft=Ubuntu:weight=bold:pixelsize=12:antialias=true:hinting:true",
--COLORS
bgColor = "#282c34",
fgColor = "#ff6c6b",
--BAR POSITION
position = Top,
commands =
[ --Get kernel version
Run Com ".local/bin/kernel" [] "kernel" 3600,
--CPU Usage
Run Cpu ["-t", "<fn=2>\xf108</fn> cpu: (<total>%)", "-H", "50", "--high", "red"] 20,
--RAM Usage
Run Memory ["-t", "<fn=2>\xf233</fn> mem: <used>M (<usedratio>%)"] 20,
--Free Disk Space
Run DiskU [("/", "<fn=2>\xf0c7</fn> hdd: <free> free")] [] 60,
--Uptime
Run Uptime ["-t", "uptime: <days>d <hours>h"] 360,
--Battery
Run BatteryP ["BAT0"] ["-t", "<acstatus><watts> (<left>%)"] 360,
--Date & Time
Run Date "<fn=2>\xf017</fn> %b %d %Y - (%H:%M) " "date" 50,
--Weather
Run Weather "RJTT" ["--template", "<skyCondition> | <fc=#4682B4><tempC></fc>°C | <fc=#4682B4><rh></fc>% | <fc=#4682B4><pressure></fc>hPa"] 36000,
--Network Activity Monitor
Run DynNetwork
[ "--template",
"<dev>: <tx>kB/s|<rx>kB/s",
"--Low",
"1000", -- units: B/s
"--High",
"5000", -- units: B/s
"--low",
"darkgreen",
"--normal",
"darkorange",
"--high",
"darkred"
]
10,
-- Script that dynamically adjusts xmobar padding depending on number of trayer icons
Run Com ".config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 20
]
}
您没有在配置中指定顶级 template
。缺失时,它defaults到"%StdinReader% }{ <fc=#00FF00>%uname%</fc> * <fc=#FF0000>%theDate%</fc>"
。这三项中哪一项仍然是 Updating...
?
如果它是 StdinReader
(这是最有可能的)并且假设您希望显示 XMonad 记录的数据(即不仅仅是您定义的“外部”项目),请检查您的 XMonad 的输出是否实例已正确通过管道传输到 xmobar。这可以在您的 .xsession
(或类似)文件中设置,或者在 XMonad 中使用 spawnPipe
和 hPutStrLn
(来自 xmonad-contrib
的 XMonad.Util.Run
模块)包)。
对于后者,您通常还会导入 XMonad.Hooks.DynamicLog
(也来自 xmonad-contrib
包)并且对于您的 logHook
重新定义您喜欢的漂亮的 ppOutput
字段-printer(大概 xmobarPP
)将其输出定向到 xmobar 的一个实例。你的 xmonad.hs
看起来像这样:
import XMonad.Util.Run -- for spawnPipe and hPutStrLn
import XMonad.Hooks.DynamicLog -- for dynamicLogWithPP, pp*, xmobar*
...
main = do
...
barpipe <- spawnPipe "xmobar -with -your -preferred -options"
...
xmonad $ def {
...
logHook = dynamicLogWithPP $ xmobarPP {
...
ppOutput = hPutStrLn barpipe
...
}
...
}
关于您的 xmobar 配置的其余部分:
- 考虑添加您自己的顶级
template
,否则您将无法使用(即显示)您在其中定义的任何项目
- 将字体定义中的第二个
=
替换为:
得到font = "xft:Ubuntu...
所以我第一次安装了 xmobar,并借助文档和一些 YouTube 视频对它进行了一些修改。当我重新加载 xmonad wm 时,我得到了 xmobar 栏,但它停留在更新中... 我会提供配置文件。提前致谢!
Config
{ --APPERANCE
--FONTS
font = "xft=Ubuntu:weight=bold:pixelsize=12:antialias=true:hinting:true",
--COLORS
bgColor = "#282c34",
fgColor = "#ff6c6b",
--BAR POSITION
position = Top,
commands =
[ --Get kernel version
Run Com ".local/bin/kernel" [] "kernel" 3600,
--CPU Usage
Run Cpu ["-t", "<fn=2>\xf108</fn> cpu: (<total>%)", "-H", "50", "--high", "red"] 20,
--RAM Usage
Run Memory ["-t", "<fn=2>\xf233</fn> mem: <used>M (<usedratio>%)"] 20,
--Free Disk Space
Run DiskU [("/", "<fn=2>\xf0c7</fn> hdd: <free> free")] [] 60,
--Uptime
Run Uptime ["-t", "uptime: <days>d <hours>h"] 360,
--Battery
Run BatteryP ["BAT0"] ["-t", "<acstatus><watts> (<left>%)"] 360,
--Date & Time
Run Date "<fn=2>\xf017</fn> %b %d %Y - (%H:%M) " "date" 50,
--Weather
Run Weather "RJTT" ["--template", "<skyCondition> | <fc=#4682B4><tempC></fc>°C | <fc=#4682B4><rh></fc>% | <fc=#4682B4><pressure></fc>hPa"] 36000,
--Network Activity Monitor
Run DynNetwork
[ "--template",
"<dev>: <tx>kB/s|<rx>kB/s",
"--Low",
"1000", -- units: B/s
"--High",
"5000", -- units: B/s
"--low",
"darkgreen",
"--normal",
"darkorange",
"--high",
"darkred"
]
10,
-- Script that dynamically adjusts xmobar padding depending on number of trayer icons
Run Com ".config/xmobar/trayer-padding-icon.sh" [] "trayerpad" 20
]
}
您没有在配置中指定顶级 template
。缺失时,它defaults到"%StdinReader% }{ <fc=#00FF00>%uname%</fc> * <fc=#FF0000>%theDate%</fc>"
。这三项中哪一项仍然是 Updating...
?
如果它是 StdinReader
(这是最有可能的)并且假设您希望显示 XMonad 记录的数据(即不仅仅是您定义的“外部”项目),请检查您的 XMonad 的输出是否实例已正确通过管道传输到 xmobar。这可以在您的 .xsession
(或类似)文件中设置,或者在 XMonad 中使用 spawnPipe
和 hPutStrLn
(来自 xmonad-contrib
的 XMonad.Util.Run
模块)包)。
对于后者,您通常还会导入 XMonad.Hooks.DynamicLog
(也来自 xmonad-contrib
包)并且对于您的 logHook
重新定义您喜欢的漂亮的 ppOutput
字段-printer(大概 xmobarPP
)将其输出定向到 xmobar 的一个实例。你的 xmonad.hs
看起来像这样:
import XMonad.Util.Run -- for spawnPipe and hPutStrLn
import XMonad.Hooks.DynamicLog -- for dynamicLogWithPP, pp*, xmobar*
...
main = do
...
barpipe <- spawnPipe "xmobar -with -your -preferred -options"
...
xmonad $ def {
...
logHook = dynamicLogWithPP $ xmobarPP {
...
ppOutput = hPutStrLn barpipe
...
}
...
}
关于您的 xmobar 配置的其余部分:
- 考虑添加您自己的顶级
template
,否则您将无法使用(即显示)您在其中定义的任何项目 - 将字体定义中的第二个
=
替换为:
得到font = "xft:Ubuntu...