使用格式函数的 awesome wm/vicious 小部件:引发了错误的参数错误。
2014-9-23 21:15:5
收藏:0
阅读:89
评论:2
我正在使用vicious(v2.1.3-1)配置awesome wm(v3.5.5-1)中的小部件。我想在小部件中显示时间,然后在悬停在时间小部件上时在工具提示中显示日期。
以下使用rc.lua文件中的vicious的代码可以正常工作:
myclock = wibox.widget.textbox()
vicious.register(myclock, vicious.widgets.date, " <span color='#ffffff'>%H:%M</span> ")
myclock_tooltip = awful.tooltip ({ objects = { myclock } })
vicious.register(myclock_tooltip, vicious.widgets.date, " %a %d %b ", 60)
然而,当我尝试结合两个vicious.register语句(基于vicious的自述文件中的_Format functions_部分):
myclock = wibox.widget.textbox()
myclock_tooltip = awful.tooltip ({ objects = { myclock } })
vicious.register(myclock, vicious.widgets.date,
function (widget, args)
myclock_tooltip.set_text(" %a %d %b ")
return " <span color='#ffffff'>%H:%M</span> "
end)
我得到以下错误:
/usr/share/lua/5.2/vicious/widgets/date.lua:23: bad argument #1 to 'date' (string expected, got function)
有什么建议我的问题在哪里?
点赞
用户436275
你为什么需要那个格式化函数呢?下面的代码不起作用吗?
myclock = wibox.widget.textbox()
myclock_tooltip = awful.tooltip ({ objects = { myclock } })
vicious.register(myclock, vicious.widgets.date, " <span color='#fffff'>%H:%M</span> ")
myclock_tooltip_timer = timer({ timeout = 3600 })
myclock_tooltip_timer:connect_signal("timeout", function()
myclock_tooltip:set_text(os.date(" %a %d %b "))
end)
myclock_tooltip_timer:start()
myclock_tooltip_timer:emit_signal("timeout")
这段代码使用了“正常”的 vicious 部件,通过一个单独的计时器每小时更新你的工具提示。
2014-09-24 09:22:03
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的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中获取用户配置主目录的跨平台方法
我从技术角度认为你没有做错任何事情。 我认为(并且快速查看源代码也证实了这一点),那个小部件不接受函数格式。
看起来有些小部件采用格式字符串(由小部件函数使用),而有些则接受格式函数(将小部件函数结果作为参数调用),但我没有看到任何明显的指示。 例如,将date.lua中的“worker”函数与uptime.lua中的函数进行比较。
“date.lua”函数在调用
os.date时使用了format参数(这正是生成错误信息的原因,请在本地尝试调用os.date(function()end))。“uptime.lua”函数根本不使用“format”参数(可能由“vicious”在该函数的返回值上内部调用。
值得一提的是,要求更新文档以使其更清晰(或者更新文档并提交补丁进行修复)可能是值得的。