Lua代码的奇怪行为(AwesomeWM配置)
2015-5-19 18:50:43
收藏:0
阅读:67
评论:1
在我的 rc.lua 文件(AwesomeWM 的配置文件)中添加以下代码,可以得到下面图片中所示的效果:
mybattmon = wibox.widget.textbox()
function battery_status ()
local output={}
local fd=io.popen("acpi", "r")
local line=fd:read()
while line do
local battery_load = string.match(line, "(%d*)%%")
local discharging
if string.match(line, "Discharging")=="Discharging"
then
discharging="-"
elseif string.match(line, "Charging")=="Charging"
then
discharging="⚡"
else
discharging=""
end
-- if tonumber(battery_load) < 10 then fontColor="red" else fontColor="black" end
-- table.insert(output,"<span color='" ..fontColor.. "'>")
table.insert(output,discharging.. "" ..battery_load.. "%")
-- table.insert(output,"</span>")
line=fd:read() --读取下一行
end
return table.concat(output,"|") --使用竖线分隔电池信息
end
my_battmon_timer = timer({ timeout = 2 })
my_battmon_timer:connect_signal("timeout", function()
mybattmon:set_markup( '<span background="#92B0A0" font="' .. font .. '"color="#000">BAT: ' .. battery_status() .. '</span>' )
end)
my_battmon_timer:start()

如果取消对三行代码的注释(它们旨在在电池少于10%时改变颜色),则会得到以下结果:

垂直线用于分隔第二个电池的位置。
有人知道为什么取消注释后,会在文本前后插入垂直线吗?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
当表格中有超过一个元素时,您需要插入管道符。
您原始的代码如下(适用于单个电池的情况):
local output={} table.insert(output, "a") print(table.concat(output, "|")) # a您未注释的代码实际上是:
local output={} table.insert(output, "pre-a") table.insert(output, "a") table.insert(output, "post-a") print(table.concat(output, "|")) # pre-a|a|post-a您想将跨度字符串格式化为表格中的一个条目。
if tonumber(battery_load) < 10 then fontColor="red" else fontColor="black" end local batstr = "<span color='" ..fontColor.. "'>" batstr = batstr..discharging.. "" ..battery_load.. "%" batstr = batstr.."</span>" table.insert(output,batstr)