42 lines
1.0 KiB
Lua
42 lines
1.0 KiB
Lua
local icons = require "icons"
|
|
local colors = require("colors").sections.widgets.messages
|
|
|
|
local messages = sbar.add("item", "widgets.messages", {
|
|
position = "right",
|
|
icon = {
|
|
color = colors.icon,
|
|
string = icons.message,
|
|
padding_right = 4,
|
|
},
|
|
label = { drawing = false },
|
|
background = { drawing = false },
|
|
update_freq = 30,
|
|
padding_left = -4,
|
|
})
|
|
|
|
messages:subscribe({ "routine", "front_app_changed", "space_change", "space_windows_change" }, function(env)
|
|
sbar.exec(
|
|
-- requires full disk access
|
|
[[sqlite3 ~/Library/Messages/chat.db "SELECT COUNT(guid) FROM message WHERE NOT(is_read) AND NOT(is_from_me) AND text !=''"]],
|
|
function(newmess)
|
|
local mess = tonumber(newmess)
|
|
local drawing = false
|
|
|
|
if mess > 0 then
|
|
drawing = true
|
|
end
|
|
|
|
messages:set {
|
|
icon = {
|
|
drawing = drawing,
|
|
},
|
|
padding_right = drawing and 4 or 0,
|
|
}
|
|
end
|
|
)
|
|
end)
|
|
|
|
messages:subscribe("mouse.clicked", function(env)
|
|
sbar.exec "open -a 'Messages'"
|
|
end)
|