• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H19-May-2020-228200

examples/H19-May-2020-10380

src/H03-May-2022-5,6434,222

ChangeLog.0H A D10-Aug-200912.1 KiB313237

Makefile.amH A D23-Dec-2013248 106

Makefile.inH A D19-May-202028.7 KiB908803

NEWS.rstH A D04-Apr-20206 KiB213150

README.rstH A D04-Apr-202013.1 KiB415277

THANKS.rstH A D23-Dec-20131.2 KiB5731

TODO.rstH A D10-Aug-2009370 127

aclocal.m4H A D19-May-202042 KiB1,1671,058

compileH A D12-Apr-20207.2 KiB349259

config.guessH A D24-Feb-201843.2 KiB1,4811,288

config.h.inH A D19-May-20203.9 KiB172116

config.subH A D24-Feb-201835.3 KiB1,8021,661

configureH A D19-May-2020216.9 KiB7,7616,403

configure.acH A D04-Apr-20206.1 KiB237201

depcompH A D12-Apr-202023 KiB792502

install-shH A D12-Apr-202015.3 KiB530346

missingH A D12-Apr-20206.7 KiB216143

README.rst

1WMND: Window Maker Network Devices
2==================================
3
4WMND (WindowMaker Network Devices) is a highly customizable network monitoring
5dockapp for Window Maker (and compatibles) for many operative systems and
6devices. WMND can be found at https://www.thregr.org/~wavexx/software/wmnd/
7
8.. contents::
9
10
11Hints for WMND
12--------------
13
14Generic
15~~~~~~~
16
17WMND supports command-line options, 'wmnd -h' prints help about them.
18
19Use option -i to monitor a particular interface at startup::
20
21  wmnd -i eth0 &
22  wmnd -i ppp0 &
23
24Without the -i option, wmnd will auto-magically use the interface that is first
25found in /proc/net/dev (or the current driver), but skip the lo and irda.
26
27Use the -I option to load only a specific interface into wmnd. By default wmnd
28loads all available interfaces.
29
30To monitor the lo or irda devices you must manually force wmnd as shown below::
31
32  wmnd -I lo &
33  wmnd -I irda &
34
35To monitor dialup interfaces under linux either use the -I ppp0 flag or use the
36streams solaris_fpppd driver (-D solaris_fpppd -I ppp0).  The linux_proc driver
37supports multiple interfaces on the command line through the -I flag::
38
39  wmnd -D linux_proc -I eth0,eth1,ppp0
40
41This way you can combine multiple interfaces (whether they're online or not) on
42the same WMND instance. This trick allows also to create handy dialup shortcuts
43using the button actions (by passing the active interface name and status on
44the command line). Look at the example wmndrc file for details.
45
46
47GUI Usage
48~~~~~~~~~
49
50You can cycle in real-time through all available active interfaces by
51simply left-clicking on the interface name gadget on the upper-left
52corner of wmnd or by using the mouse wheel anywhere.
53
54By default, wmnd show device name in short term of four characters, for
55example, the ippp0 will be displayed as ipp0. You can toggle the device
56name between short and long by right-clicking on it.
57
58Left-click on the main graphic area to cycle the graphic mode.
59Right-click on it to toggle the dial-up timer (when available).
60
61Just above the graph you have the max tx/rx values. Left-click to switch
62between screen max (latest samples only) or full history values.
63Right-click to hide or display. The default is screen max.
64
65Left-click on the letter gadget on the right-top corner can switch between
66the Byte or Packet counter mode. "B" for byte, "p" for packet.
67
68Click on the bottom rate meter can invoke the user command defined in
69resource file .wmndrc.
70
71Be sure to drag WMND on it's outer edges, it's a bit picky due to the large gfx
72pixmap it keeps ;-). You can also use a keyboard+mouse shortcut (perhaps
73ALT+left-click) in your window manager to drag it around.
74
75The history/graph can be viewed and inspected more conveniently by clicking
76with the middle button on the scale meter. With this feature, multiple
77interfaces can be monitored concurrently. See the "trend" section below.
78
79
80Transition from 0.2/0.3
81~~~~~~~~~~~~~~~~~~~~~~~
82
83If you are coming from an old release of WMND (0.2/0.3 series) you must be
84aware that some values/scales of the ~/.wmndrc file have changed. Copy a fresh
85wmndrc from the source distribution (examples/wmndrc) or erase your old wmndrc
86to get the new defaults.
87
88
89Firing up WMND with sensible defaults
90~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91
92Default values are easily changed from the command line or through the
93~/.wmndrc file. The ~/.wmndrc file gets created automatically the first time
94you execute WMND (unless you use -F) using the internal defaults and command
95line flags. That is, if you want to change "permanently" the defaults (so you
96can start it without command line fuss) just remove ~/.wmndrc and launch WMND
97using all the flags again. Beware however that internal defaults may
98change. Consider reading the example wmndrc that comes with the distribution.
99
100
101Creating PPP dialup scripts
102~~~~~~~~~~~~~~~~~~~~~~~~~~~
103
104Because a very good PPP HowTo already exists, it's quite pointless for us to
105explain to you how you should and make them. Look for mouse button actions
106(bt?_action) into the example wmndrc.
107
108Read the PPP HowTo, and you'll see that it's very easy to create your own PPP
109scripts.
110
111
112Window Managers
113---------------
114
115WindowMaker
116~~~~~~~~~~~
117
118WindowMaker users simply drag and drop the WMND dock.app on the WindowMaker
119Dock (preferred) or on the Fiend, and then press the right mouse button on the
120outer edges of WMND and then enable 'Auto launch' from the Dock pop-up menu.
121
122
123AfterSTEP
124~~~~~~~~~
125
126AfterSTEP users put the following in their .steprc::
127
128  "Wharf wmnd - MaxSwallow "wmnd" wmnd -i eth0 -w &".
129
130Change the WMND's title name in order to not swallow multiple instances into a
131single dock (see -n).
132
133
134BlackBox or FluxBox
135~~~~~~~~~~~~~~~~~~~
136
137You must enable the slit in other make wmnd visible. To add wmnd to the slit
138simply run wmnd from the command line::
139
140  wmnd &
141
142and it will pop-up into a new slot.
143
144
145Other Window managers
146~~~~~~~~~~~~~~~~~~~~~
147
148For other windowmanagers, WMND runs nicely as 64x64 pixel shaped icon on your
149desktop.
150
151Under gnome add the "swallow" applet and set it to run wmnd. The same thing can
152be done under KDE using the kdeswallow applet.
153
154PS: FVWM can swallow it too, so we've heard ;-)
155
156
157Display modes
158-------------
159
160Configure --enable-modes flags (space separated): traditional mgraph waveform
161wmwave wmnet sepgraphs twisted charts needle lines.
162
163Traditional:
164	Tx and Rx are piled on the same line within a single graph (like wmifs
165	original behavior).
166
167MGraph:
168	Tx and Rx scale is calculated uniquely and the slower channel is shown
169	in front of the other one.
170
171Waveform:
172	Tx and Rx are piled on the same line and mirrored using the central
173	line, in way to generate a "waveform like" silhouette
174
175WmWave:
176	Tx and Rx are opposite to the central line, however the scale is
177	calculated using both values
178
179WmNet:
180	This graph shows a reversed wmwave mode without the central line.
181	(like wmnet behavior)
182
183Sepgraphs:
184	Tx and Rx are shown on separated graphs. Tx in top and Rx in bottom,
185	divided by a central line. Scales are calculated separately.
186
187Twisted:
188	This mode displays two vertical "waveform like" graphs flowing in
189	reverse directions. The scale is unique.
190
191Charts:
192	Displays four charts disposed in this manner:
193
194	  | TX Current Speed Indicator
195	  | TX Average Speed Indicator
196	  | RX Current Speed Indicator
197	  | RX Average Speed Indicator
198
199	The average speed is calculated using the latest 58 samples for
200	each channel. Works better when using history max values,
201	toggled with the left mouse button on the max values.
202
203Needle:
204	Displays three needles. The arrangement is as follows:
205
206	  | TX Average Needle
207	  |   Bandwidth utilization Needle
208	  | RX Average Needle
209
210	The bandwidth utilization one uses this formula:
211
212	  (tx_avg+rx_avg)/(tx_max+rx_max)
213
214	I particularly like this mode :), the needles speed are slow and
215	smooth like a real analog display. Works better when using
216	history max values, toggled with the left mouse button on the
217	max values.
218
219Lines:
220	Displays a trend graph using two lines.
221
222
223Drivers
224-------
225
226Introduction
227~~~~~~~~~~~~
228
229Since release 0.3, WMND is now portable to many operating systems by using
230compile-time defines and an internal driver table (now it should be possible to
231make WMND monitor just about anything). Current supported OSs/drivers includes:
232
233Configure --enable-drivers flags (space separated) drivers: linux_proc
234freebsd_sysctl solaris_fpppd solaris_kstat irix_pcp generic_snmp netbsd_ioctl.
235
236linux_proc:
237	Supports Linux >2.2 by using the /proc/net/dev file.
238
239freebsd_sysctl:
240	FreeBSD (and Darwin) sysctl based.
241
242solaris_fpppd:
243	Free PPPd (for Linux, Solaris, and maybe others) for ppp dialup
244	interfaces.
245
246solaris_kstat:
247	Solaris kstat based.
248
249irix_pcp:
250	Based on PCP (Performance Co-Pilot API 2).
251
252generic_snmp:
253	Since WMND 0.4.5 you can now monitor IF-MIB local and/or remote snmp
254	interfaces a-la MRTG, but in realtime!
255
256netbsd_ioctl:
257	NetBSD ioctl based.
258
259Due to the new handling of the drivers, WMND won't add new devices (like PPP
260interfaces in /proc/net/dev) and remove them as they appear on the
261/proc/net/dev file. Offline devices are now shown as red (disabled). If you're
262under linux and still require to monitor a dialup interface you'll need to feed
263it on the command line through the -I flag.
264
265
266irix_pcp
267~~~~~~~~
268
269The IRIX driver is based on the PCP API 2.x (Performance Co-Pilot). You'll need
270'pcpd' running for WMND to work. Interface format::
271
272  [host@]interface
273
274These filesets are required::
275
276  pcp_eoe.sw.eoe
277  pcp.sw.base
278
279If you don't have these, you can download PCP directly from here:
280http://www.sgi.com/software/co-pilot/ (pcp_eoe.* filesets are into
281"IRIX Overlays, 2/4" and "Foundation 2").
282
283In some cases WMND may fail to compile due to the presence of Motif XPM
284headers: be sure to have freeware's XPM installed (see
285http://freeware.sgi.com/) and have "/usr/freeware/include" paths before any
286other.
287
288There seems to be a Linux version of PCP, but I can't (don't) want to try
289it. It will probably work.
290
291
292generic_snmp
293~~~~~~~~~~~~
294
295Since 0.4.5 wmnd adds a new snmp driver for local and/or remote IF-MIB
296compliant devices. This driver requires the NET-SNMP library, available at
297http://www.net-snmp.org/, version 5 or higher. The drivers name is
298generic_snmp. It uses the parameters sent through the -I flag to initialize the
299device/s list. The format is as follows::
300
301  [community@]host[:interface]
302
303Parameters inside [] are optional. If you do not explicitly supply these
304parameters, generic_snmp will use "public@localhost".
305
306To monitor an entire switch, you can usually do::
307
308  wmnd -D generic_snmp -I public@switch
309
310(or "-I switch", which is shorter). To monitor only a specific interface::
311
312  wmnd -D generic_snmp -I public@switch:1
313
314Interface numbers start at 1 (0 means all interfaces, like an empty interface
315specification). Beware that EACH remote interface, at the default refresh
316speed, burns AT LEAST 2kB/s of continuous data stream through your
317network. Monitoring a complete switch (24 ports), always at the default refresh
318speed, burns circa 30kB/s. You can slow down the refresh speed (-r) to reduce
319this traffic. The extremely fast queries done by wmnd can also reduce the
320available cpu of your snmp server/hardware and decrease overall performance.
321
322Also beware that using the -I flag on the command-line can potentially expose
323the community name of your remote snmp server. Better to use ~/.wmndrc and
324chmod it to 600 in this case.
325
326
327Building WMND 0.4
328-----------------
329
330Configure flags
331~~~~~~~~~~~~~~~
332
333Since release 0.4 WMND is now compliant to the GNU Packaging standards and
334enables to use the GNU autotools to automagically build WMND for your box with
335little or no difficulty. See INSTALL for a first-time introduction.
336
337Configure accepts several options to enchance/minimize wmnd functionality and
338size. To forcely disable the dummy driver::
339
340  $ ./configure --disable-dummy-driver
341
342To select only some display modes::
343
344  $ ./configure --enable-modes="traditional wmwave"
345
346To forcely build specified drivers (beware that the dummy driver should be
347disabled with --disable-dummy-driver, also, extra libraries that may be needed
348by the driver won't be checked automatically)::
349
350  $ ./configure --enable-drivers="linux_proc"
351
352The --help flag will show you a complete list of command line flags that the
353configure script supports.
354
355
356Notes for packagers
357~~~~~~~~~~~~~~~~~~~
358
359I'm not a professional packager, but you may want to consider these notes to
360improve the WMND package.
361
362The irix_pcp and generic_snmp drivers depends upon libraries that are not
363installed on a distribution/OS by default. Both these drivers are supported by
364different operating systems. I suggest you to build at least one package that
365doesn't require them.
366
367
368Trend support
369~~~~~~~~~~~~~
370
371You can examine the current history in a larger window by clicking with the
372middle mouse button on the scale meter (the panel under the device name).
373Bytes/Packets mode affects the counters involved.
374
375You can leave the trend's window open, cycle the active interface and
376middle-click again to monitor multiple interfaces concurrently. trend settings
377and history can be adjusted via wmndrc. Read the sample file coming in the
378source for details.
379
380You will need trend[1] to be installed for this feature to work.
381Any version of trend starting with Rev #68 02/11/2007 should work.
382
383[1] https://www.thregr.org/~wavexx/software/trend/
384
385
386Copyright
387---------
388
389WMND was originally based on WMiFS, forked around 2001 by Reed Lai. WMND is
390currently maintained by Yuri D'Elia and distributed under GNU GPL v2 or
391above. See AUTHORS and COPYING for detailed licensing details.
392
393
394Bugs
395----
396
397A list of wishes and bugs can be found at the Debian WMND bugs page[1].
398
399[1] https://bugs.debian.org/cgi-bin/pkgreport.cgi?src=wmnd
400
401The FreeBSD driver is known to have problems on laptop systems where you can
402dynamically insert/remove addictional PCMCIA interfaces. This is rather a
403design problem of the driver. A developer with FreeBSD's MIB knowledge would be
404helpful.
405
406Certainly there are more. I actually test WMND only on Solaris, Linux and IRIX
407boxes. You can report bugs to the current maintainer's email:
408<wavexx@thregr.org>. Please be as descriptive as possible and always include
409at least:
410
411* WMND version
412* your host/target operating system
413* compiler used
414* A backtrace of the crash would be helpful, but less essential.
415