/*
 * setdefaults.c
 *
 * get defaults from .Xdefaults file.
 *
 */

#include <stdio.h>
#include <sys/types.h>
#include <X11/Xlib.h>

extern	Display *display;
extern	int screen;

int	fontw, fonth;

setdefaults()
{
	extern	char *XGetDefault();
	extern	int forePixel, backPixel;
	extern	int parsize;
	extern	int rate;
	extern	int border;
	extern	char *progname;
	extern	XFontStruct *font;
	extern	struct xdsp_header xdsp_head;
	char	*p;

	border = 2;
	p = XGetDefault(display, progname, "borderWidth");
	if (p != 0)
		border = atoi(p);
	if (booleanDefault(progname, "reverseVideo")) {
		forePixel = WhitePixel(display, screen);
		backPixel = BlackPixel(display, screen);
	} else {
		forePixel = BlackPixel(display, screen);
		backPixel = WhitePixel(display, screen);
	}
	p = XGetDefault(display, progname, "font");
	if (p == 0)
		p = "6x10";
	font = XLoadQueryFont(display, p);
	if (font == 0) {
		fprintf(stderr, "Can't find font %s\n", p);
		exit(0);
	}
	fontw = font->max_bounds.rbearing - font->min_bounds.lbearing;
	fonth = font->max_bounds.ascent + font->max_bounds.descent;
}

int
booleanDefault(prog, def)
	char	*prog;
	char	*def;
{
	char	*str;

	if ((str = XGetDefault(display ,prog, def)) != NULL && strcmp(str, "on") == 0)
		return (1);
	else
		return (0);
}
