Add nilsonlinux/rss-notifier plugin v1.0.0 (#137)
* Add nilsonlinux/rss-notifier plugin v1.0.0 * fix: correct all validation errors for rss-notifier * Update tags in plugin.toml for rss-notifier * Revise README for RSS Notifier plugin Updated README to reflect plugin name and improved clarity. * Update README.md by removing unnecessary content Removed placeholder text and installation instructions from README. * Update README with plugin details and usage instructions Expanded README to include plugin details, usage instructions, and settings configuration. * Traduz README.md para português e atualiza conteúdo Atualiza o README.md com informações em português sobre o plugin RSS/Atom Notifier, incluindo uso, configurações e notas sobre o funcionamento. * Update tags in plugin.toml Removed 'rss' tag from the plugin configuration. * Revise README for RSS Notifier plugin Updated the README to reflect changes in the plugin description, installation instructions, usage details, settings, and dependencies. * Enhance README with plugin details and usage Updated README.md to include detailed plugin features, settings, and usage instructions. * Update README for RSS Utils plugin * Add files via upload * Add xdg-open as a dependency in plugin.toml * Revise README for RSS/Atom Notifier plugin Updated configuration options and usage instructions in README. * Add Brazilian Portuguese translation file * Revise README for clarity and updated instructions Updated README to improve clarity and consistency, including installation and usage instructions. * Add xdg-open as a dependency in README Updated dependencies section to include xdg-open. * Fix formatting of requirements section in README * Add files via upload * feat: add individual item delete option and scrollbar - Implemented the ability to delete individual feed items using an 'X' button. - Added a fixed height scrollbar to the panel list. - Fixed badge synchronization and command communication for the V5 Beta 6 environment. * fix tags e correções de funcionamento * Add dependencies section to plugin.toml * Add files via upload * Enhance README with plugin details Updated README with plugin ID and entries table.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
-- widget.luau
|
||||
-- Widget de barra: icone RSS com uma pilula colorida (badge) de itens nao
|
||||
-- lidos encostada no lado esquerdo, publicada pelo service via noctalia.state.
|
||||
|
||||
local unread = 0
|
||||
|
||||
local function render()
|
||||
local children = {}
|
||||
|
||||
if unread > 0 then
|
||||
-- pilula: um container com fundo colorido e cantos arredondados, com o
|
||||
-- numero dentro - o mais perto que a API declarativa chega de um "badge"
|
||||
table.insert(children, ui.row({
|
||||
fill = "primary",
|
||||
radius = 8,
|
||||
paddingH = 5,
|
||||
paddingV = 1,
|
||||
align = "center",
|
||||
justify = "center",
|
||||
}, {
|
||||
ui.label({ text = tostring(unread), fontSize = 10, fontWeight = "bold", color = "on_primary" }),
|
||||
}))
|
||||
end
|
||||
|
||||
table.insert(children, ui.glyph({ name = "rss", size = 14 }))
|
||||
|
||||
local container = barWidget.isVertical() and ui.column or ui.row
|
||||
barWidget.render(container({ gap = 4, align = "center" }, children))
|
||||
|
||||
barWidget.setTooltip(unread > 0 and (tostring(unread) .. " novo(s) item(ns) nos feeds") or "Nenhum item novo")
|
||||
end
|
||||
|
||||
noctalia.state.watch("unread", function(value)
|
||||
unread = value or 0
|
||||
render()
|
||||
end)
|
||||
|
||||
render()
|
||||
|
||||
function update()
|
||||
noctalia.setUpdateInterval(5000) -- so mantem o widget "vivo"; os dados reais vem do state
|
||||
end
|
||||
|
||||
function onClick()
|
||||
-- abre/fecha a janelinha com a lista de itens; o proprio painel marca
|
||||
-- como lido (zera o badge) quando e aberto, via IPC pro service
|
||||
noctalia.togglePanel("nilsonlinux/rss-notifier:list")
|
||||
end
|
||||
|
||||
function onRightClick()
|
||||
-- clique direito: forca uma nova checagem imediata dos feeds,
|
||||
-- enviando um evento IPC para a entry [[service]] (que e um singleton, alvo "all")
|
||||
noctalia.runAsync("noctalia msg plugin nilsonlinux/rss-notifier:fetcher all refresh")
|
||||
noctalia.notify("RSS/Atom Notifier", "Atualizando feeds...")
|
||||
end
|
||||
|
||||
function onIpc(event, payload)
|
||||
if event == "set" then
|
||||
unread = tonumber(payload) or 0
|
||||
render()
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user