What is NetMonitor?

NetMonitor is a humble Netspeed replacement for gnome-shell.

What it looks like?

Everybody loves screenshots, right?

Normal view Two connected devices Hidden device


As I couldn't find any real documentation for writing gnome-shell extensions, I based my code on better or worse snippets and tutorials found on internet. Some of the sources are mentioned below:

How it works?

The extension connects to NetworkManager via dbus and gets list of available network devices. Then it parses /proc/net/dev file for interfaces' statistics.

I should have used instead of writing all the code myself, but I've found the module too late (did I mention lack of documentation?). Moreover I should have used instead of parsing /proc/net/dev/, but I don't believe it's supported in gnome-shell 3.0.


In order to install gsettings schema, copy file to /usr/share/glib-2.0/schemas and invoke glib-compile-schemas on that direcory. Note that you need to be root or use sudo to do that:

# cp /usr/share/glib-2.0/schemas
# glib-compile-schemas /usr/share/glib-2.0/schemas

The directory should be copied to /usr/share/gnome-shell/extensions or ~/.local/share/gnome-shell/extensions/:

# cp NetMonitor\ /usr/share/gnome-shell/extensions


$ cp NetMonitor\ ~/.local/share/gnome-shell/extensions/

Have fun!

Go ahead and try:

$ hg clone

Have fun!


Copyright 2011 Aleksander Zdyb

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see