Back to plugins
IP Monitor
v0.0.1 3ri4nG0ld

About

IP Monitor

A Noctalia bar and desktop widget to monitor network IPs. It supports fetching IPs from network interfaces, custom commands, or via IPC.

Plugin

Field Value
ID 3ri4ng0ld/ip-monitor
Entries Bar widget: widget, Desktop widget: desktop

Requirements

  • ip (part of iproute2): Required to resolve IP and gateway in Interface mode.
  • curl: Required if using the default custom command to fetch public IPs.

Settings

Bar Widget Settings (widget)

Setting Type Default Description
glyph glyph network The icon glyph displayed on the widget
glyph_color color on_surface Color of the icon
mode select interface Operating mode: Interface, Custom Command, or IPC
iface string wlan* Network interface wildcard to fetch IP from
custom_command string curl -s ifconfig.me Shell command to execute in custom command mode
text_color color on_surface Color of the IP text
name string "" A custom name to display alongside the IP
ipc_id string default Identifier used to target this specific widget via IPC
name_color color on_surface Color of the name text
separator string - Separator symbol between IP and Name
separator_color color on_surface Color of the separator
hide_on_empty boolean true Hide the widget completely if no IP is found
refresh_interval int 60 Refresh interval in seconds (max 3600)
hidden_fields string "" Comma-separated fields to hide in tooltip (e.g. network,mask). Options: iface, ip, network, gateway, mask, broadcast
left_click_action select copy_ip Action to perform on left click (Copy IP, Copy Name, None)
right_click_action select copy_name Action to perform on right click (Copy IP, Copy Name, None)

Desktop Widget Settings (desktop)

Setting Type Default Description
glyph glyph network The icon glyph displayed on the widget
glyph_color color on_surface Color of the icon
mode select interface Operating mode: Interface, Custom Command, or IPC
iface string wlan* Network interface wildcard to fetch IP from
custom_command string curl -s ifconfig.me Shell command to execute in custom command mode
text_color color on_surface Color of the IP text
name string "" A custom name to display alongside the IP
ipc_id string default Identifier used to target this specific widget via IPC
name_color color on_surface Color of the name text
separator string - Separator symbol between IP and Name
separator_color color on_surface Color of the separator
hide_on_empty boolean true Hide the widget completely if no IP is found
refresh_interval int 60 Refresh interval in seconds (max 3600)
ip_font_size int 32 Font size for the IP and name text
details_font_size int 16 Font size for the network details text
details_key_color color primary Color for detail label keys (e.g. Network, Mask)
details_value_color color on_surface Color for detail values
hidden_fields string "" Comma-separated fields to hide in details table (e.g. network,mask). Options: iface, ip, network, gateway, mask, broadcast

Usage

Add the widget to a bar from Settings → Bar. Plugin options live in Settings → Plugins.

Modes

  1. Interface: Fetches the IP from a local network interface. The Interface setting supports wildcards, for example wlan* or eth*, and will select the first matching interface that has a valid IP address.
  2. Custom Command: Runs a shell command to fetch the IP. For example, curl -s ifconfig.me for the public IP.
  3. IPC: Listens to external events to set the IP and name.

IPC

The widget listens to the set event. By default, the widget is assigned the IPC ID default. To set the IP and name for a default widget, use the following command (you don't need to specify an ID in the JSON, it defaults to default):

noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"ip":"192.168.1.5","name":"MyIP"}'

If you have multiple ip-monitor widgets in IPC mode and want to update them independently, you can change the IPC ID setting for each widget. Then, target them by passing their ID string in the JSON payload:

noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"id":"my_vpn","ip":"100.64.0.1","name":"VPN"}'
noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{"id":"my_local_iface","ip":"192.168.1.5","name":"Ethernet"}'

Tooltips

Hovering over the widget displays detailed network information if available:

  • Interface: Network interface name (e.g. eth0)
  • IP: IPv4 address
  • Network: Network range (e.g. 192.168.1.0/24)
  • Default route: Gateway address (e.g. 192.168.1.1)
  • Mask: Subnet mask (e.g. 255.255.255.0)
  • Broadcast: Broadcast address (e.g. 192.168.1.255)

[!TIP] You can selectively hide any of these fields by listing their internal keys (iface, ip, network, gateway, mask, broadcast) separated by commas in the Hide Tooltip Options (for the bar widget) or Hide Details Options (for the desktop widget) configuration.

In IPC Mode, tooltip fields can be passed optionally in the JSON payload (either as top-level keys or nested inside a tooltip object):

noctalia msg plugin 3ri4ng0ld/ip-monitor:widget all set '{
  "id": "my_vpn",
  "ip": "100.64.0.2",
  "name": "Tailscale",
  "iface": "tailscale0",
  "network": "100.64.0.0/10",
  "gateway": "100.64.0.1",
  "mask": "255.192.0.0"
}'

Click Actions

By default, left-clicking the widget copies the IP address to the clipboard and right-clicking copies the display name.

These bindings can be changed or disabled from the Settings section in the widget's bar settings.

Versions

VersionPlugin APIUpdated
v0.0.1 latest3Aug 2, 2026

Older versions stay installable on a Noctalia release whose plugin API is below the latest version's.