X386MON part 06/06

Warren Tucker wht at n4hgf.Mt-Park.GA.US
Sun Feb 17 06:36:32 AEST 1991


Submitted-by: wht at n4hgf
Archive-name: x386monx100/part06

#!/bin/sh
# This is part 06 of x386monx100
# ============= x386mon/x386mon.h ==============
if test ! -d 'x386mon'; then
    echo 'x - creating directory x386mon'
    mkdir 'x386mon'
fi
if test -f 'x386mon/x386mon.h' -a X"$1" != X"-c"; then
	echo 'x - skipping x386mon/x386mon.h (File already exists)'
else
echo 'x - extracting x386mon/x386mon.h (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'x386mon/x386mon.h' &&
X/*+-------------------------------------------------------------------------
X	x386mon.h - SCO ODT (UNIX 386) system watcher definitions
X	wht at n4hgf.Mt-Park.GA.US
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:01-12-1991-04:35-wht at n4hgf-x1.00 (flush old edit notes) */
X
X#include <X11/Intrinsic.h>
X#include "config.h"
X
Xchar *getenv();
X
Xtypedef struct myresources
X{
X	char *geometry;
X	char *background;
X	char *foreground;
X	char *font;
X	int busyAlarmThreshhold;
X	int busyWarningThreshhold;
X	int breakAlarmThreshhold;
X	int breakWarningThreshhold;
X	int waitAlarmThreshhold;
X	int waitWarningThreshhold;
X	int swapAlarmThreshhold;
X	int swapWarningThreshhold;
X} MyResources;
X
Xextern MyResources res;
X
Xtypedef struct myfontstruct
X{
X	char *name;
X	int width;
X	int height;
X	int gap;
X	int win_height_threshhold;
X	Font fid;
X	XFontStruct *font_struct;
X} MyFontStruct;
Xextern MyFontStruct *currentMyFont;
X
X#define FASCENT		(currentMyFont->font_struct->ascent)
X#define FHEIGHT		(currentMyFont->height)
X#define FWIDTH		(currentMyFont->width)
X#define FGAP		(currentMyFont->gap)
X
X#define BORDER_EXTRA_WIDTH	(FGAP)
X
X#define MyButton_TLX	0
X#define MyButton_TLY	1
X
X#define Tod_WIDTH		(FWIDTH * 8)
X#define Tod_TLX			(DrawAreaXYWH.width - Tod_WIDTH - FGAP)
X#define Tod_TLY			0
X
X#define StatPeriod_WIDTH	(FWIDTH * 10)
X#define StatPeriod_TLX		(Tod_TLX - StatPeriod_WIDTH - (FWIDTH * 2))
X#define StatPeriod_TLY		0
X
X#ifdef LABELLED_STAT_TIMES
X#define StatPeriodL_WIDTH	(FWIDTH * 7)
X#else
X#define StatPeriodL_WIDTH	(FWIDTH * 0)
X#endif
X#define StatPeriodL_TLX		(StatPeriod_TLX - StatPeriodL_WIDTH)
X#define StatPeriodL_TLY		0
X
X#define StatCycle_WIDTH		(FWIDTH * 7)
X#define StatCycle_TLX		(StatPeriodL_TLX - StatCycle_WIDTH - (FWIDTH * 2))
X#define StatCycle_TLY		0
X
X#ifdef LABELLED_STAT_TIMES
X#define StatCycleL_WIDTH	(FWIDTH * 6)
X#else
X#define StatCycleL_WIDTH	(FWIDTH * 0)
X#endif
X#define StatCycleL_TLX		(StatCycle_TLX - StatCycleL_WIDTH)
X#define StatCycleL_TLY		0
X
X#define CpuScale_TLX	0
X#define CpuScale_TLY	(FHEIGHT * 2)
X
X#define WaitScale_TLX	0
X#define WaitScale_TLY	(FHEIGHT * 6)
X
X/* Sysinfo/Minfo per second area */
X#define Sysinfo_TLY		(FHEIGHT * 10)	/* absolute ... */
X#define Sysinfo_TLX		(FWIDTH * 0)	/* ... positions */
X#define Sysinfo1_TLX	(FWIDTH * 0)	/* offsets */
X#define Sysinfo2_TLX	(FWIDTH * 18)
X#define Sysinfo3_TLX	(FWIDTH * 35)
X#define Sysinfo4_TLX	(FWIDTH * 51)
X#define Sysinfo5_TLX	(FWIDTH * 66)
X
X/* extra info area */
X#define EXTRA_TLY		(FHEIGHT * 24)	/* absolute ... */
X#define EXTRA_TLX		(FWIDTH * 0)	/* ... positions */
X#define EXTRA1_TLX		(FWIDTH * 0)	/* offsets */
X#define EXTRA2_TLX		(FWIDTH * 18)
X#define EXTRA3_TLX		(FWIDTH * 43)
X#define EXTRA4_TLX		(FWIDTH * 62)
X
X#define Var_TLX			(EXTRA_TLX + EXTRA1_TLX)
X#define Var_TLY			EXTRA_TLY
X
X#define Bootinfo_TLX	(EXTRA_TLX + EXTRA2_TLX)
X#define Bootinfo_TLY	EXTRA_TLY
X
X#define Tune_TLX		(EXTRA_TLX + EXTRA3_TLX)
X#define Tune_TLY		EXTRA_TLY
X
X#define Proc_TLX		(EXTRA_TLX + EXTRA4_TLX)
X#define Proc_TLY		EXTRA_TLY
X
X
X#define MIN_PCT_SCALE_WIDTH 100
X
X/* 6 == 6x10, 20 == number of characters to left of pct scales */
X/*
X0000000000111111111122222222223333333333444444444455555555556666666666777777777
X0123456789012345678901234567890123456789012345678901234567890123456789012345678
X 1  93 100 000 000 uuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk     
X 5  87 100 000 000 uuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkk        
X10  89  45  44   0 uuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkk       
X*/
X#define DrawArea_MIN_WIDTH	100
X
X/* 6 == 6x10, 29 == number of characters to left of pct scales */
X/*
X0000000000111111111122222222223333333333444444444455555555556666666666777777777
X0123456789012345678901234567890123456789012345678901234567890123456789012345678
X Instant %    93  54  39   0 uuuuuuuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkk     
X 5 Sec Avg %  87  26  61   0 uuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkkkkkkkkkk        
X10 Sec Avg %  89  45  44   0 uuuuuuuuuuuuuuuuuuuuuukkkkkkkkkkkkkkkkkkkkkk       
X*/
X#define DrawArea_MIN_HEIGHT	(10 * 10)	/* 10 characters of 6x10 */
X
X#define DrawArea_DEFAULT_WIDTH	(80 * 6)
X#define DrawArea_DEFAULT_HEIGHT	(43 * 10)
X#define DrawArea_DEFAULT_TLX		5
X#define DrawArea_DEFAULT_TLY		5
X
X#define CPU_AVG_MAX		10
X#define WAIT_AVG_MAX	10
X
Xextern XtAppContext appcon;
Xextern Widget AppShellW;
Xextern Widget MainWindowW;
Xextern Widget DrawAreaW;
Xextern XWindowAttributes DrawAreaXYWH;
Xextern Display *display;
Xextern Window window;
Xextern GC gc;
Xextern Colormap cmap;
Xextern int screen;
Xextern Window root_window;
X
Xextern MyResources res;
Xextern XColor colorBackground;
Xextern XColor colorForeground;
Xextern XColor colorBlack;
Xextern XColor colorRed;
Xextern XColor colorOrange;
Xextern XColor colorYellow;
Xextern XColor colorGreen;
Xextern XColor colorBlue;
Xextern XColor colorSlate;
Xextern XColor colorCyan;
Xextern unsigned long foreground;
Xextern unsigned long background;
X
Xextern int current_display_mode;
Xextern int queued_display_mode;
Xextern int redrawing_entire_DrawArea;
X
Xextern int MyButtons_next_tlx;
Xextern int DispMsg_tlx;
X
X#if defined(WANT_MON_EXTERNS)
Xextern unsigned long StatCycle_msec;
X
X#define sysidelta(x) (sysinfo.x - sysinfo_last.x)
Xextern struct sysinfo sysinfo;
Xextern struct sysinfo sysinfo_last;
X
X#define midelta(x) (minfo.x - minfo_last.x)
Xextern struct minfo minfo;
Xextern struct minfo minfo_last;
Xextern struct bootinfo bootinfo;
Xextern swpt_t swaptab [];
Xextern swpi_t swapin;
Xextern struct tune tune;
Xextern struct utsname utsname;
Xextern struct var v;
Xextern struct timeb timeb_cycle_start;
Xextern struct timeb timeb_cycle_end;
Xextern struct timeb timeb_info_read;
Xextern struct timeb timeb_last_info_read;
Xextern int hz;
Xextern int nswap;	/* seems to be in units of NBPSCTR bytes */
Xextern int maxmem;
Xextern int freemem;
Xextern daddr_t myreadlen;
Xextern int myreadcnt;
Xextern int cpu_avg_init;
Xextern time_t *cpu_avg[];
Xextern time_t cpu_ticks[];
Xextern int wait_avg_init;
Xextern time_t *wait_avg[];
Xextern time_t wait_ticks[];
X#endif /* defined(WANT_MON_EXTERNS) */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of x386mon.h */
SHAR_EOF
chmod 0644 x386mon/x386mon.h ||
echo 'restore of x386mon/x386mon.h failed'
Wc_c="`wc -c < 'x386mon/x386mon.h'`"
test 6070 -eq "$Wc_c" ||
	echo 'x386mon/x386mon.h: original size 6070, current size' "$Wc_c"
fi
# ============= x386mon/xincs.h ==============
if test -f 'x386mon/xincs.h' -a X"$1" != X"-c"; then
	echo 'x - skipping x386mon/xincs.h (File already exists)'
else
echo 'x - extracting x386mon/xincs.h (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'x386mon/xincs.h' &&
X/*+-------------------------------------------------------------------------
X	xincs.h
X	wht at n4hgf.Mt-Park.GA.US
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:01-12-1991-04:35-wht at n4hgf-x1.00 (flush old edit notes) */
X
X#include <X11/Xlib.h>
X#include <X11/Xutil.h>
X#include <X11/Intrinsic.h>
X#include <X11/Shell.h>
X#include <Xm/MainW.h>
X#include <Xm/BulletinB.h>
X#include <Xm/PushB.h>
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of xincs.h */
SHAR_EOF
chmod 0644 x386mon/xincs.h ||
echo 'restore of x386mon/xincs.h failed'
Wc_c="`wc -c < 'x386mon/xincs.h'`"
test 489 -eq "$Wc_c" ||
	echo 'x386mon/xincs.h: original size 489, current size' "$Wc_c"
fi
# ============= x386mon/xprocs.c ==============
if test -f 'x386mon/xprocs.c' -a X"$1" != X"-c"; then
	echo 'x - skipping x386mon/xprocs.c (File already exists)'
else
echo 'x - extracting x386mon/xprocs.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'x386mon/xprocs.c' &&
X/*+-------------------------------------------------------------------------
X	xprocs.c - X386MON X interface (fonts, colors)
X	wht at n4hgf.Mt-Park.GA.US
X
X  Defined functions:
X	alloc_color(color_name,rtn)
X	choose_MyFont()
X	init_MyFonts()
X	init_color()
X	use_MyFont(num)
X
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:01-12-1991-04:35-wht at n4hgf-x1.00 (flush old edit notes) */
X
X#include "x386mon.h"
X
XXColor colorBackground;
XXColor colorForeground;
XXColor colorBlack;
XXColor colorRed;
XXColor colorOrange;
XXColor colorYellow;
XXColor colorGreen;
XXColor colorBlue;
XXColor colorSlate;
XXColor colorCyan;
X
Xunsigned long foreground;
Xunsigned long background;
X
XMyFontStruct my_fonts[] =
X{
X	{"6x10"},
X	{(char *)0}
X};
X#define MyFont_QUANTITY  4
X
XMyFontStruct *currentMyFont = (MyFontStruct *)0;
X
X/*+-------------------------------------------------------------------------
X	use_MyFont(num)
X--------------------------------------------------------------------------*/
Xvoid
Xuse_MyFont(num)
Xint num;
X{
X	currentMyFont = &my_fonts[num];
X	XSetFont(display,gc,currentMyFont->fid);
X
X}	/* end of use_MyFont */
X
X/*+-------------------------------------------------------------------------
X	choose_MyFont() - choose font based on current window size
X--------------------------------------------------------------------------*/
Xvoid
Xchoose_MyFont()
X{
X}	/* end of choose_MyFont */
X
X/*+-------------------------------------------------------------------------
X	init_MyFonts()
X--------------------------------------------------------------------------*/
Xvoid
Xinit_MyFonts()
X{
Xregister MyFontStruct *thisMyFont = my_fonts;
X
X	while(thisMyFont->name)
X	{
X		if((thisMyFont->fid = XLoadFont(display,thisMyFont->name)) != BadName)
X		{
X			thisMyFont->font_struct = XQueryFont(display,thisMyFont->fid);
X			thisMyFont->width = thisMyFont->font_struct->max_bounds.width;
X			thisMyFont->height =
X				thisMyFont->font_struct->max_bounds.ascent +
X				thisMyFont->font_struct->max_bounds.descent;
X			thisMyFont->gap = thisMyFont->height / 3;
X		}
X		else
X			thisMyFont->width = 0;
X		thisMyFont++;
X	}
X
X	use_MyFont(0);
X
X}	/* end of init_MyFonts */
X
X/*+-------------------------------------------------------------------------
X	alloc_color(color_name,rtn)
X--------------------------------------------------------------------------*/
Xint
Xalloc_color(color_name,rtn)
Xregister char *color_name;
XXColor *rtn;
X{
X	XColor exact;
X	XColor color;
X	Status ret;
X
X	if( ((ret = XAllocNamedColor(display,cmap,color_name,
X			&exact,&color)) == BadColor) || (ret == BadValue))
X	{
X		*rtn = colorBlack;
X		return(-1);
X	}
X	*rtn = exact;
X	return(0);
X
X}	/* end of alloc_color */
X
X/*+-------------------------------------------------------------------------
X	init_color()
X--------------------------------------------------------------------------*/
Xvoid
Xinit_color()
X{
X	alloc_color("black",&colorBlack);	/* first */
X
X	alloc_color(res.background,&colorBackground);
X	background = colorBackground.pixel;
X
X	alloc_color(res.foreground,&colorForeground);
X	foreground = colorForeground.pixel;
X
X	alloc_color("gray",&colorSlate);
X
X	if(alloc_color("red",&colorRed))
X		colorRed = colorForeground;
X
X	if(alloc_color("yellow",&colorYellow))
X		colorRed = colorForeground;
X
X	if(alloc_color("green",&colorGreen))
X		colorGreen = colorForeground;
X
X	if(alloc_color("blue",&colorBlue))
X		colorBlue = colorForeground;
X
X	if(alloc_color("cyan",&colorCyan))
X		colorCyan = colorForeground;
X
X	if(alloc_color("orange",&colorOrange))
X		colorOrange = colorForeground;
X
X}	/* end of init_color */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of xprocs.c */
SHAR_EOF
chmod 0644 x386mon/xprocs.c ||
echo 'restore of x386mon/xprocs.c failed'
Wc_c="`wc -c < 'x386mon/xprocs.c'`"
test 3597 -eq "$Wc_c" ||
	echo 'x386mon/xprocs.c: original size 3597, current size' "$Wc_c"
fi
exit 0
 
-----------------------------------------------------------------------
Warren Tucker, TuckerWare   gatech!n4hgf!wht or wht at n4hgf.Mt-Park.GA.US
Many [Nobel physics] prizes  have been given  to people for  telling us
the universe is not as simple as we thought it was. -Stephen Hawking in
A Brief History of Time     In computing, there are no such prizes. -me



More information about the Alt.sources mailing list