2017-08-14 22 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變量。