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)