add: scr->tech_draw_font = WMCreateFontWithFlags(scr->wmscreen, "BoldSystemFont-12", WFNotAntialiased);
context: wScreenInit(int screen_number){    WScreen *scr;    XIconSize icon_size[1];    RContextAttributes rattr;    extern int wVisualID;    long event_mask;    WMColor *color;    XErrorHandler oldHandler;    scr = wmalloc(sizeof(WScreen));    memset(scr, 0, sizeof(WScreen));    scr->stacking_list = WMCreateTreeBag();        /* initialize globals */    scr->screen = screen_number;    scr->root_win = RootWindow(dpy, screen_number);    scr->depth = DefaultDepth(dpy, screen_number);    scr->colormap = DefaultColormap(dpy, screen_number);    scr->scr_width = WidthOfScreen(ScreenOfDisplay(dpy, screen_number));    scr->scr_height = HeightOfScreen(ScreenOfDisplay(dpy, screen_number));    scr->usableArea.x2 = scr->scr_width;    scr->usableArea.y2 = scr->scr_height;    scr->totalUsableArea.x2 = scr->scr_width;    scr->totalUsableArea.y2 = scr->scr_height;    scr->fakeGroupLeaders = WMCreateArray(16);#if 0    if (!aquireManagerSelection(scr)) {	wfree(scr);	return NULL;    }#endif    CantManageScreen = 0;    oldHandler = XSetErrorHandler((XErrorHandler)alreadyRunningError);    event_mask = EVENT_MASK;    if (wPreferences.disable_root_mouse) {	event_mask &= ~(ButtonPressMask|ButtonReleaseMask);    }        XSelectInput(dpy, scr->root_win, event_mask);#ifdef KEEP_XKB_LOCK_STATUS         /* Only GroupLock doesn't work correctly in my system since right-alt     * can change mode while holding it too - ]d     */    if (wXkbSupported) {        XkbSelectEvents(dpy,XkbUseCoreKbd,                XkbStateNotifyMask,                XkbStateNotifyMask);    }#endif /* KEEP_XKB_LOCK_STATUS */    XSync(dpy, False);    XSetErrorHandler(oldHandler);        if (CantManageScreen) {	wfree(scr);	return NULL;    }    #ifdef XINERAMA    wInitXinerama(scr);#endif        XDefineCursor(dpy, scr->root_win, wCursor[WCUR_ROOT]);    /* screen descriptor for raster graphic library */    rattr.flags = RC_RenderMode | RC_ColorsPerChannel | RC_StandardColormap;    rattr.render_mode = wPreferences.no_dithering 				? RBestMatchRendering				: RDitheredRendering;    /* if the std colormap stuff works ok, this will be ignored */    rattr.colors_per_channel = wPreferences.cmap_size;    if (rattr.colors_per_channel<2)	rattr.colors_per_channel = 2;        /* will only be accounted for in PseudoColor */    if (wPreferences.flags.create_stdcmap) {	rattr.standard_colormap_mode = RCreateStdColormap;    } else {	rattr.standard_colormap_mode = RUseStdColormap;    }    if (wVisualID>=0) {	rattr.flags |= RC_VisualID;	rattr.visualid = wVisualID;    }        scr->rcontext = RCreateContext(dpy, screen_number, &rattr);    if (!scr->rcontext && RErrorCode == RERR_STDCMAPFAIL) {	wwarning(RMessageForError(RErrorCode));	rattr.flags &= ~RC_StandardColormap;	rattr.standard_colormap_mode = RUseStdColormap;	scr->rcontext = RCreateContext(dpy, screen_number, &rattr);    }    if (!scr->rcontext) {	wwarning(_("could not initialize graphics library context: %s"),		 RMessageForError(RErrorCode));	wAbort(False);    } else {	char **formats;	int i = 0;	formats = RSupportedFileFormats();	if (formats) {	    for (i=0; formats[i]!=NULL; i++) {		if (strcmp(formats[i], "TIFF")==0) {		    scr->flags.supports_tiff = 1;		    break;		}	    }	}    }        scr->w_win = scr->rcontext->drawable;    scr->w_visual = scr->rcontext->visual;    scr->w_depth = scr->rcontext->depth;    scr->w_colormap = scr->rcontext->cmap;    /* create screen descriptor for WINGs */    scr->wmscreen = WMCreateScreenWithRContext(dpy, screen_number,					       scr->rcontext);    if (!scr->wmscreen) {	wfatal(_("could not initialize WINGs widget set"));	return NULL;    }    scr->black    = WMBlackColor(scr->wmscreen);    scr->white    = WMWhiteColor(scr->wmscreen);    scr->gray     = WMGrayColor(scr->wmscreen);    scr->darkGray = WMDarkGrayColor(scr->wmscreen);    scr->black_pixel = WMColorPixel(scr->black); /*scr->rcontext->black;*/    scr->white_pixel = WMColorPixel(scr->white); /*scr->rcontext->white;*/    scr->light_pixel = WMColorPixel(scr->gray);    scr->dark_pixel  = WMColorPixel(scr->darkGray);    {	XColor xcol;	/* frame boder color */	wGetColor(scr, FRAME_BORDER_COLOR, &xcol);	scr->frame_border_pixel = xcol.pixel;    }    /* create GCs with default values */    allocGCs(scr);    /* for our window manager info notice board. Need to     * create before reading the defaults, because it will be used there.      */    scr->info_window = XCreateSimpleWindow(dpy, scr->root_win, 0, 0, 10, 10, 					   0, 0, 0);        /* read defaults for this screen */    wReadDefaults(scr, WDWindowMaker->dictionary);    createInternalWindows(scr);#ifdef KWM_HINTS    wKWMInitStuff(scr);#endif#ifdef GNOME_STUFF    wGNOMEInitStuff(scr);#endif#ifdef OLWM_HINTS    wOLWMInitStuff(scr);#endif    /* create initial workspace */    wWorkspaceNew(scr);    /* create shared pixmaps */    createPixmaps(scr);    /* set icon sizes we can accept from clients */    icon_size[0].min_width = 8;    icon_size[0].min_height = 8;    icon_size[0].max_width = wPreferences.icon_size-4;    icon_size[0].max_height = wPreferences.icon_size-4;    icon_size[0].width_inc = 1;    icon_size[0].height_inc = 1;    XSetIconSizes(dpy, scr->root_win, icon_size, 1);    /* setup WindowMaker protocols property in the root window*/    PropSetWMakerProtocols(scr->root_win);    /* setup our noticeboard */    XChangeProperty(dpy, scr->info_window, _XA_WINDOWMAKER_NOTICEBOARD,		    XA_WINDOW, 32, PropModeReplace, 		    (unsigned char*)&scr->info_window, 1);    XChangeProperty(dpy, scr->root_win, _XA_WINDOWMAKER_NOTICEBOARD,		    XA_WINDOW, 32, PropModeReplace, 		    (unsigned char*)&scr->info_window, 1);#ifdef BALLOON_TEXT    /* initialize balloon text stuff */    wBalloonInitialize(scr);#endif    scr->info_text_font = WMBoldSystemFontOfSize(scr->wmscreen, 12);    scr->gview = WCreateGeometryView(scr->wmscreen);    WMRealizeWidget(scr->gview);    wScreenUpdateUsableArea(scr);    return scr;}