feat: Add mangowm keymode plugin (#14)

* feat(mangowm-keymode): init plugin

* docs: update manifest

* chore: filename

* Update plugin.toml

---------

Co-authored-by: Lemmy <studio@quadbyte.net>
This commit is contained in:
César González Girón
2026-07-14 23:30:08 -04:00
committed by GitHub
co-authored by Lemmy
parent dea8de954e
commit 445fe9dcac
5 changed files with 64 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
# mangowm-keymode
![mangowm keymode thumbnail](thumbnail.webp)
**Mangowm Keymode** is a bar widget plugin written for Noctalia (v5) that displays the current keymode from window manager [MANGOWM](https://mangowm.github.io/). It also notifies you when the keymode changes. Notification and bar text are configurable and can be disabled.
+30
View File
@@ -0,0 +1,30 @@
local showText = barWidget.getConfig("show_text")
local notifyChange = barWidget.getConfig("notify_change")
local currentKeymode = "default"
noctalia.runStream("mmsg watch keymode", function(line)
local data = noctalia.json.decode(line)
if data and data.keymode then
if currentKeymode ~= data.keymode then
currentKeymode = data.keymode
if notifyChange then
noctalia.notify("Keymode changed", currentKeymode)
end
end
end
end)
function update()
noctalia.setUpdateInterval(1000)
barWidget.setGlyph("keyboard")
if showText then
barWidget.setText(currentKeymode)
else
barWidget.setText("")
end
end
function onClick()
noctalia.notify("Keymode", currentKeymode)
end
+27
View File
@@ -0,0 +1,27 @@
id = "gambled23/mangowm-keymode"
name = "Mangowm Keymode"
version = "1.0.0"
min_noctalia = "5.0.0"
author = "gambled23"
license = "MIT"
dependencies = ["mmsg"]
icon = "keyboard"
deprecated = false
description = "Mangowm keymode notifier"
tags = ["bar", "mangowc"]
[[widget]]
id = "mangowm-keymode"
entry = "keymode.luau"
[[widget.setting]]
key = "show_text"
type = "bool"
label_key = "settings.show_text.label"
default = true
[[widget.setting]]
key = "notify_change"
type = "bool"
label_key = "settings.notify_change.label"
default = true
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

+4
View File
@@ -0,0 +1,4 @@
{
"settings.show_text.label": "Show text on bar",
"settings.notify_change.label": "Notify change"
}