我想获得有关在真棒wm中配置lain imap小部件的帮助。虽然我实际上有 3 个电子邮件地址需要关心,但我想配置 lain 小部件,这样我只有一个邮件图标和三个初始化的 imap 小部件,它们汇总了小部件的 mailcount 变量,并将其发送到小部件。
当前状态是这样的:
local mailicon = wibox.widget.imagebox(theme.widget_mail)
mailicon:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.spawn(mailclient) end)))
local mail = lain.widget.imap({
timeout = 60,
server = mailserver,
mail = mailaddress,
password = mailpass,
is_plain = true,
settings = function()
if mailcount > 0 then
widget:set_text(" " .. mailcount .. " ")
mailicon:set_image(theme.widget_mail_on)
else
widget:set_text("")
mailicon:set_image(theme.widget_mail)
end
end
})
但是我想到了这样的事情:
local mailicon = wibox.widget.imagebox(theme.widget_mail)
mailicon:buttons(awful.util.table.join(awful.button({ }, 1, function () awful.spawn(mailclient) end)))
local mail = lain.widget.imap({
timeout = 60,
server = mailserver,
mail = mailaddress,
password = mailpass,
is_plain = true,
settings = function()
--> local mailsum = mailcount
if mailsum > 0 then
widget:set_text(" " .. --> mailsum .. " ")
mailicon:set_image(theme.widget_mail_on)
else
widget:set_text("")
mailicon:set_image(theme.widget_mail)
end
end
})
local mail2 = lain.widget.imap({
timeout = 60,
server = "SECOND SERVER",
mail = "SECOND ADDRESS",
password = "SECOND PASS",
is_plain = true,
settings = function()
--> local mailsum = mailsum + mailcount
if mailsum > 0 then
widget:set_text(" " .. --> mailsum .. " ")
mailicon:set_image(theme.widget_mail_on)
else
widget:set_text("")
mailicon:set_image(theme.widget_mail)
end
end
})
(用 --> 标记的更改( 其中"mailsum"变量汇总每个服务器的"mailcount"。但是我对lua编码很陌生,不知道怎么做。
因此,我最终想要的状态是一个邮件图标,如果我在第一台服务器上有一封未读邮件,在第二台服务器上有两封未读邮件,则图标后面应该会生成一个"3"。
你可以帮我吗?
如果我理解正确,mail2应该汇总两个邮件地址的邮件计数。最简单的解决方案是在小部件之外声明一个变量。所以在声明local mail
之前写一些类似local mailsum = 0
的东西.以下两个邮件小部件都可以访问mailsum
变量。