Port Watch
September 4, 2026 ยท View on GitHub
A lightweight, native Omarchy status bar widget that shows the ports you're actually listening on and lets you stop them safely.
What it does
- Bar shows a single Port Watch icon; detailed port counts appear inside the panel.
- Click it to see each port, protocol, process name, pid, and the real command + folder it was launched from (read straight from
/proc, not guessed). - Ports are organized into separated
Listening,Apps, andSystemsections; all three sections can be expanded or collapsed. - Each process has a square, theme-aware
Killaction that needs a second click within 3 seconds to confirm. - GUI apps (browsers etc., detected via an actual Hyprland window match) and ports owned by other users/root remain behind the collapsible
Apps/Systemsections. - Status refreshes automatically every 3 seconds while the panel is open, with a manual refresh button in the panel header and right-click refresh on the bar icon; there is no recurring background scan while the panel is closed.
Installation
Option 1: Using omarchy plugin (Recommended)
omarchy plugin add https://github.com/Rizmi/omarchy-portwatch-squre --enable
Option 2: Manual Installation
-
Clone the repository into your Omarchy plugins directory:
git clone https://github.com/Rizmi/omarchy-portwatch-squre \ ~/.config/omarchy/plugins/io.github.rizmi.portwatch -
Validate and enable the plugin on your status bar:
omarchy plugin validate ~/.config/omarchy/plugins/io.github.rizmi.portwatch omarchy plugin enable io.github.rizmi.portwatch --section right -
Reload the shell if necessary:
omarchy restart shell
Removal
Using omarchy plugin
omarchy plugin remove io.github.rizmi.portwatch
omarchy restart shell
Manual removal
omarchy plugin disable io.github.rizmi.portwatch
rm -rf ~/.config/omarchy/plugins/io.github.rizmi.portwatch
omarchy restart shell
Requirements
- Omarchy on Hyprland
ss(part ofiproute2, already installed on Omarchy)
How it works
One ss -tulpn scan for ports, hyprctl clients -j to tell real windowed apps apart from headless processes, and a /proc/<pid> read for the exact command and working directory. It performs one initial scan, then refreshes every 3 seconds only while the panel is open; users can also refresh manually from the panel header or by right-clicking the bar icon. No sudo and no network calls.
When the panel is focused, press L, A, or S to collapse/expand the corresponding Listening, Apps, or System section.
License
MIT. See LICENSE.