add: WMAddNotificationObserver(appearanceObserver, wwin, WNWindowAppearanceSettingsChanged, wwin);
context: wManageInternalWindow(WScreen *scr, Window window, Window owner,		      char *title, int x, int y, int width, int height){    WWindow *wwin;    int foo;    wwin = wWindowCreate();    wwin->flags.internal_window = 1;    WSETUFLAG(wwin, omnipresent, 1);    WSETUFLAG(wwin, no_shadeable, 1);    WSETUFLAG(wwin, no_resizable, 1);    WSETUFLAG(wwin, no_miniaturizable, 1);    wwin->focus_mode = WFM_PASSIVE;        wwin->client_win = window;    wwin->screen_ptr = scr;    wwin->transient_for = owner;        wwin->client.x = x;    wwin->client.y = y;    wwin->client.width = width;    wwin->client.height = height;       wwin->frame_x = wwin->client.x;    wwin->frame_y = wwin->client.y;        foo = WFF_RIGHT_BUTTON;    foo |= WFF_TITLEBAR;    wwin->frame = wFrameWindowCreate(scr, WMFloatingLevel,				     wwin->frame_x, wwin->frame_y,				     width, height, foo,				     scr->window_title_texture,				     (WTexture**)scr->resizebar_texture,				     scr->window_title_pixel, 				     &scr->window_title_gc, 				     &scr->title_font);        XSaveContext(dpy, window, wWinContext, (XPointer)&wwin->client_descriptor);    wwin->frame->flags.is_client_window_frame = 1;    wwin->frame->flags.justification = wPreferences.title_justification;    wFrameWindowChangeTitle(wwin->frame, title);    /* setup button images */    wWindowUpdateButtonImages(wwin);    /* hide buttons */    wFrameWindowHideButton(wwin->frame, WFF_RIGHT_BUTTON);        wwin->frame->child = wwin;        wwin->frame->workspace = wwin->screen_ptr->current_workspace;            wwin->frame->on_click_right = windowCloseClick;        wwin->frame->on_mousedown_titlebar = titlebarMouseDown;    wwin->frame->on_dblclick_titlebar = titlebarDblClick;        wwin->frame->on_mousedown_resizebar = resizebarMouseDown;    wwin->client.y += wwin->frame->top_width;    XReparentWindow(dpy, wwin->client_win, wwin->frame->core->window, 		    0, wwin->frame->top_width);    wWindowConfigure(wwin, wwin->frame_x, wwin->frame_y, 		     wwin->client.width, wwin->client.height);    /* setup the frame descriptor */    wwin->frame->core->descriptor.handle_mousedown = frameMouseDown;    wwin->frame->core->descriptor.parent = wwin;    wwin->frame->core->descriptor.parent_type = WCLASS_WINDOW;    XLowerWindow(dpy, window);    XMapSubwindows(dpy, wwin->frame->core->window);        /* setup stacking descriptor */    if (#ifdef removed	wPreferences.on_top_transients && #endif	wwin->transient_for!=None	&& wwin->transient_for!=scr->root_win) {	WWindow *tmp;	tmp = wWindowFor(wwin->transient_for);	if (tmp)	    wwin->frame->core->stacking->child_of = tmp->frame->core;    } else {	wwin->frame->core->stacking->child_of = NULL;    }        if (!scr->focused_window) {	/* first window on the list */	wwin->next = NULL;	wwin->prev = NULL;	scr->focused_window = wwin;    } else {	WWindow *tmp;	/* add window at beginning of focus window list */	tmp = scr->focused_window;	while (tmp->prev)	  tmp = tmp->prev;	tmp->prev = wwin;	wwin->next = tmp;	wwin->prev = NULL;    }    wFrameWindowChangeState(wwin->frame, WS_UNFOCUSED);/*    if (wPreferences.auto_focus)*/	wSetFocusTo(scr, wwin);    wWindowResetMouseGrabs(wwin);    wWindowSetKeyGrabs(wwin);    UpdateSwitchMenu(wwin->screen_ptr, wwin, ACTION_ADD);        return wwin;}