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.

Port Watch panel Port Watch panel with expanded sections

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, and System sections; all three sections can be expanded or collapsed.
  • Each process has a square, theme-aware Kill action 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 / System sections.
  • 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

omarchy plugin add https://github.com/Rizmi/omarchy-portwatch-squre --enable

Option 2: Manual Installation

  1. Clone the repository into your Omarchy plugins directory:

    git clone https://github.com/Rizmi/omarchy-portwatch-squre \
      ~/.config/omarchy/plugins/io.github.rizmi.portwatch
    
  2. 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
    
  3. 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 of iproute2, 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.