2017-08-14 21 views
0

我想要在awesome wm中配置lain imap小部件的帮助。虽然我实际上有3个电子邮件地址来关心我想配置lain小部件,以便我只有一个邮件图标和三个初始化的imap小部件,他们总结小部件mailcount变量,并将其发送到小部件。在真棒wm中添加多个mailaddresses到lain imap小部件

目前的状态是这样的:

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”后面的图标。

你能帮我吗?

回答

0

如果我正确理解你,mail2应该总结两个邮件地址的邮件数量。最简单的解决方案是在部件外部声明一个变量。因此,在宣布local mail之前写上类似local mailsum = 0的东西。以下两个邮件小部件都可以访问mailsum变量。