Skip to content

KsmBl/networkmonitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a tiny network monitor widget for linux

built with PyQt6 · catppuccin mocha · pyqtgraph

python pyqt6 license platform


✿ what is this

a lightweight, frameless desktop widget that lives in the corner of your screen and watches your network go brr ٩(◕‿◕。)۶

it shows you real-time download & upload speeds, a scrolling 60-second history chart, and a full wifi manager — all wrapped in the cozy catppuccin mocha dark theme ♡

✿ features

  • ╭( ・ㅂ・)و live ↓ download & ↑ upload speeds with auto-scaling units (B/s → KB/s → MB/s → GB/s)
  • ( ´ ▽ ` ) 60-second dual-line speed chart with hover tooltip — move your mouse over the chart to peek at past speeds
  • ヾ(^∇^) interface selector that remembers your last choice
  • ✧(≧ ◡ ≦) wifi manager — scan networks, see signal strength bars & lock icons
  • ◝(ᵔᵕᵔ)◜ connect to new networks with password entry, or reconnect to saved ones in one click
  • ( •̀ ω •́ )✧ disconnect button that actually works
  • ʕっ• ᴥ • ʔっ frameless rounded window — drag it anywhere, minimize, close
  • 。ᵔ ᴥ ᵔ。 no background threads left dangling when you close it, pinky promise

✿ requirements

linux only! reads from /proc/net/dev and uses nmcli for wifi magic ✦

  • python 3.11+
  • PyQt6 >= 6.4
  • pyqtgraph >= 0.13.0
  • NetworkManager + nmcli (for wifi features)

✿ installation

# clone the repo
git clone https://github.com/KsmBl/network-chan.git
cd network-chan

# install dependencies
pip install -r requirements.txt

# run ♡
python main.py

Tip

want it to start with your desktop? add python /path/to/main.py to your autostart! ✿

✿ usage

action how
drag window click & drag the title bar
minimize click
close click or alt+f4
switch interface use the dropdown at the top
scan wifi click Scan (auto-refreshes every 12s too)
connect click a network → enter password if needed → Connect
disconnect click the red Disconnect button
peek at past speeds hover your mouse over the chart ♡

✿ project structure

network_monitor/
├── __init__.py       # app entry point
├── theme.py          # catppuccin mocha palette + stylesheet
├── config.py         # persists last-used interface
├── data_source.py    # /proc/net/dev reader + nmcli wifi wrapper
├── chart_widget.py   # 60s dual-line pyqtgraph chart + hover
└── main_window.py    # frameless window, all ui, background workers

✿ colors

all colors come from catppuccin mocha

role color hex
background 🟣 base #1e1e2e
panels 🟣 surface0 #313244
download 🔵 blue #89b4fa
upload 🟣 mauve #cba6f7
connected 🟢 green #a6e3a1
errors 🔴 red #f38ba8

✿ license

MIT — do whatever you want with it (੭ ˃̣̣̥ ω˂̣̣̥)੭ु⁾⁾


made with ♡ and too much coffee

if it broke something, that's a feature (´• ω •`)ノ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages