public void uimsg(String msg, Object... args) {
		if (msg == "tabfocus") {
			setfocustab(((Integer) args[0] != 0));
		} else if (msg == "act") {
			canactivate = (Integer) args[0] != 0;
		} else if (msg == "cancel") {
			cancancel = (Integer) args[0] != 0;
		} else if (msg == "autofocus") {
			autofocus = (Integer) args[0] != 0;
		} else if (msg == "focus") {
			Widget w = ui.widgets.get((Integer) args[0]);
			if (w != null) {
				if (w.canfocus)
					setfocus(w);
			}
		} else if (msg == "curs") {
			if (args.length == 0)
				cursor = null;
			else
				cursor = Resource.load((String) args[0], (Integer) args[1]);
		} else {
			System.err.println("Unhandled widget message: " + msg);
		}
	}