connmap is an X11 desktop widget that shows location of your current network peers on a world map. (Works on Wayland as well!)
Clone the repository git clone https://github.com/h2337/connmap --depth 1, install the dependencies (see below), run make install, then run the resulting executable ./connmap.elf.
If you want to run it without attaching it to the terminal then add ampersand at the end of the command: ./connmal.elf &.
You can also add it to your i3wm config to run at startup (make sure it is in the PATH):
exec --no-startup-id connmap.elf
Build dependencies: xlib, libxext, libxfixes, libcairo2
Installation dependencies: unzip
Runtime dependencies: iproute2
Installation for Arch Linux:
sudo pacman -S --needed iproute2 libx11 libxext libxfixes cairo unzip
Installation for Debian/Ubuntu:
sudo apt install iproute2 libx11-dev libxext-dev libxfixes-dev libcairo2-dev unzip
Installation will create ~/.config/connmap/connmaprc. Default connmaprc looks like this:
location_x 20
location_y 500
map_width 1000
black false
update_interval 1
-
location_x/location_yspecifies the initial widget location in your desktop (you can later drag/drop the widget with mouse if you are not using a desktop environment that treats mouse drag as multi-select). -
map_widthspecifies the custom pixel width of the map. Height is automatically calculated as width/2. Examples:map_width 500creates a 500×250px mapmap_width 1000creates a 1000×500px mapmap_width 1500creates a 1500×750px mapmap_width 2000creates a 2000×1000px map
-
Setting
blackto true will draw map outline in black instead of white. -
update_intervalis seconds the application will sleep for before fetching the updated list of network connections.
-
Tested only with i3wm, might not work as expected in other DE/WM.
-
Only IPv4 is supported.
MIT-licensed.
This product includes GeoLite2 Data created by MaxMind, available from https://www.maxmind.com
