Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!ucla-cs!zen!ucbvax!unl::spa!psi From: psi@unl::spa (Salvador Pinto Abreu) Newsgroups: comp.windows.x Subject: xrload (part 2 of 6) Message-ID: <8708131059.AA04080@decwrl.dec.com> Date: Thu, 13-Aug-87 14:55:00 EDT Article-I.D.: decwrl.8708131059.AA04080 Posted: Thu Aug 13 14:55:00 1987 Date-Received: Sat, 15-Aug-87 08:22:57 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 274 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh Makefile <<'END_OF_Makefile' XPROGRAM = xrload X XOBJECTS = draw-hand.o dump-stats.o event-loop.o get-stats.o hostname.o \ X init.o recalc-windows.o show-stats.o update-sys.o globals.o \ X xrload.o X XSHARFILES = \ X README Makefile \ X xrload.1x \ X back.bitmap down.bitmap \ X draw-hand.c dump-stats.c event-loop.c get-stats.c hostname.c \ X init.c recalc-windows.c show-stats.c update-sys.c globals.c \ X xrload.c X XMAN = /usr/man/man1 XBIN = /usr/local/bin X XCFLAGS = -O XSIZE = 6k X Xall: $(PROGRAM) X Xshar: MANIFEST X makekit -s$(SIZE) -nxrload.shar. -h2 -iMANIFEST X XMANIFEST: $(SHARFILES) X makekit -m -s$(SIZE) -x $(SHARFILES) X Xinstall: all X install xrload $(BIN) X Xman: xrload.1x X cp xrload.1x $(MAN)/xrload.1 X chmod a=r $(MAN)/xrload.1 X X$(PROGRAM): $(OBJECTS) X cc $(CFLAGS) -o xrload $(OBJECTS) -lX -lm X Xxrload.h: back.bitmap down.bitmap X X$(OBJECTS): xrload.h END_OF_Makefile if test 834 -ne `wc -c draw-hand.c <<'END_OF_draw-hand.c' X/**************************************************************************/ X/* */ X/* Draw a dial hand */ X/* */ X/**************************************************************************/ X X#include "xrload.h" X Xdraw_hand (w, value, scale, l0, l1, thick) X Window w; X float value, scale, l0, l1; X int thick; X{ X float theta = M_PI_4 * (5.0 - 6.0*value/scale); X int x0 = (int) (rr*l0*cos(theta)); X int x1 = (int) (rr*l1*cos(theta)); X int y0 = (int) (rr*l0*sin(-theta)); X int y1 = (int) (rr*l1*sin(-theta)); X X x0 += (ww-back.width)/2+back.x_hot; X x1 += (ww-back.width)/2+back.x_hot; X y0 += back.y_hot; X y1 += back.y_hot; X X XLine (w, x0, y0, x1, y1, thick, thick, blackPixel, GXcopy, AllPlanes); X} END_OF_draw-hand.c if test 788 -ne `wc -c recalc-windows.c <<'END_OF_recalc-windows.c' X/**************************************************************************/ X/* */ X/* Recompute subwindow locations */ X/* */ X/**************************************************************************/ X X#include "xrload.h" X Xvoid recalc_windows (stats, nsys) X sys_stat *stats; X int nsys; X{ X WindowInfo wi; X register int x, y, i; X X XQueryWindow (mainWindow, &wi); X if (wi.width != mainLoc.width || X wi.height != mainLoc.height || X nsys != nSystems) { /* recompute subwindow locations */ X mainLoc = wi; X nSystems = nsys; X x = dd; X y = dd; X for (i=0; i= wi.width) { X x = dd; X y += hh+dd; X } X } X } X} END_OF_recalc-windows.c if test 901 -ne `wc -c show-stats.c <<'END_OF_show-stats.c' X/**************************************************************************/ X/* */ X/* Display system statistics */ X/* */ X/**************************************************************************/ X X#include "xrload.h" X Xvoid show_stats (stats, nsys) X sys_stat *stats; X int nsys; X{ X float max_scale; X int i; X X if (dflag) dump_stats (stats, nsys); X X recalc_windows (stats, nsys); X X if (same_scale) { X max_scale = 1.0; X for (i=0; iupdate-sys.c <<'END_OF_update-sys.c' X/**************************************************************************/ X/* */ X/* Update a system's dial window */ X/* */ X/**************************************************************************/ X X#include "xrload.h" X Xvoid update_sys (stat, scale) X sys_stat *stat; X float scale; X{ X register int tw; X float tick; X X if (stat->state == DOWN) { X XBitmapBitsPut (stat->w, (ww-down.width)/2, 0, down.width, down.height, X down.bits, X blackPixel, whitePixel, NULL, GXcopy, AllPlanes); X } X else { X XBitmapBitsPut (stat->w, (ww-back.width)/2, 0, back.width, back.height, X back.bits, X blackPixel, whitePixel, NULL, GXcopy, AllPlanes); X X for (tick=1.0; tickw, tick, scale, 0.8, 1.1, 2); X X draw_hand (stat->w, stat->load_average[0], scale, 0.0, 0.85, 1); X draw_hand (stat->w, stat->load_average[1], scale, 0.0, 0.50, 1); X } X X tw = XQueryWidth (stat->sys_name, theFont->id); X XText (stat->w, (ww-tw)/2, hh-2-theFont->height, X stat->sys_name, strlen(stat->sys_name), X theFont->id, whitePixel, blackPixel); X} END_OF_update-sys.c if test 1133 -ne `wc -c