feat: add ip-monitor plugin - #207
Conversation
873f667 to
a2364c1
Compare
a2364c1 to
0305bf4
Compare
The interface name parsed from
ip-monitor/README.md:57 All documented IPC commands use
ip-monitor/widget.luau:196 The README says left-click and right-click actions are configurable and lists a
ip-monitor/plugin.toml:117 The README documents a 10-second default refresh interval, while the manifest default is 60 seconds. Align the documentation with the effective default. |
- Extracted IP fetching and data parsing into a shared `utils.luau` module to prevent code duplication. - Created `desktop.luau` to display network details explicitly in a tabulated UI. - Added specific configuration options for font sizes and colors for the new desktop widget
…desktop widget details
Plugin
3ri4ng0ld/ip-monitorplugin.toml)What it does
It provides a bar widget (
widget) and a desktop widget (desktop) to monitor network IP addresses. It supports fetching IPs from network interfaces (with wildcard support), running custom shell commands (e.g., fetching a public IP viacurl), or receiving IP and network details via external IPC events.widget): Displays the icon, IP, and optional name on the bar with a detailed hover tooltip containing network metadata (interface, IP, network, gateway, mask, broadcast), with click actions to copy the IP or name.desktop): Displays an overlay widget on the desktop with configurable font sizes, customizable label/value colors, and a dedicated network details table.External dependencies
ip(fromiproute2): Required to resolve IP and gateway in Interface mode (ip -4 -o addr showandip route show).curl(optional): Used by default custom command setting to fetch public IP (curl -s ifconfig.me).Testing
Tested both bar and desktop widgets switching between Interface, Custom Command, and IPC modes. Verified that interface globs correctly match network interfaces and sent IPC
setpayloads to update IP and network details.Screenshots / Videos
Checklist
idafter the/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows theREADME template, documents
every entry id and dependency, and includes exact panel IPC commands and launcher prefixes where applicable.
thumbnail.webpwith the thumbnail generator.versionfollows semver and is bumped in this PR;plugin_apiis the oldest API level this plugin requires.understand that language well enough to review and maintain it (no unreviewed machine/LLM translations).
catalog.toml; CI generates it.Code review attestation
Plugins run as trusted, unsandboxed Luau in the user's session. Confirm:
licensedeclared inplugin.toml.