rem: image = fwin->tbutton_image;
add: image = fwin->languagebutton_image;
context: buttonMouseDown(WObjDescriptor *desc, XEvent *event){    WFrameWindow *fwin = desc->parent;    WCoreWindow *button = desc->self;    WPixmap *image;    XEvent ev;    int done=0, execute=1;    WTexture *texture;    unsigned long pixel;    int clickButton = event->xbutton.button;    if (IsDoubleClick(fwin->core->screen_ptr, event)) {	if (button == fwin->right_button && fwin->on_dblclick_right) {	    (*fwin->on_dblclick_right)(button, fwin->child, event);	}	return;    }         if (button == fwin->left_button) {	image = fwin->lbutton_image;    } else {	image = fwin->rbutton_image;    } #ifdef XKB_BUTTON_HINT    if (button == fwin->thai_button) {    if (!wPreferences.modelock) return;	image = fwin->tbutton_image;    }#endif        pixel = fwin->title_pixel[fwin->flags.state];    texture = fwin->title_texture[fwin->flags.state];    paintButton(button, texture, pixel, image, True);        while (!done) {	WMMaskEvent(dpy, LeaveWindowMask|EnterWindowMask|ButtonReleaseMask		    |ButtonPressMask|ExposureMask, &ev);	switch (ev.type) {	 case LeaveNotify:	    execute = 0;	    paintButton(button, texture, pixel, image, False);	    break;	    	 case EnterNotify:	    execute = 1;	    paintButton(button, texture, pixel, image, True);	    break;	 case ButtonPress:	    break;  	 case ButtonRelease:	    if (ev.xbutton.button == clickButton)		done = 1;	    break;	    	 default:	    WMHandleEvent(&ev);	}    }    paintButton(button, texture, pixel, image, False);        if (execute) {	if (button == fwin->left_button) {	    if (fwin->on_click_left)		(*fwin->on_click_left)(button, fwin->child, &ev);	} else if (button == fwin->right_button) {	    if (fwin->on_click_right)		(*fwin->on_click_right)(button, fwin->child, &ev);	}#ifdef XKB_BUTTON_HINT	else if (button == fwin->thai_button) {	    if (fwin->on_click_thai)		(*fwin->on_click_thai)(button, fwin->child, &ev);	}#endif    }}