} else {
} else if (!strcmp(multiple_cursors_mode, "some")) {
int get_which_cursor(void) {	int which = CURS_ARROW;	if (show_multiple_cursors) {		int depth;		static win_str_info_t winfo;		static int first = 1, depth_cutoff = -1;		Window win;		XErrorHandler old_handler;		int mode = 0;		char a = multiple_cursors_mode[0];		if (a == 'd') {			mode = 0;		} else if (a == 'X') {			mode = 1;		} else {			mode = 2;		}		if (depth_cutoff < 0) {			int din;			if (sscanf(multiple_cursors_mode, "X%d", &din) == 1) {				depth_cutoff = din;			} else {				depth_cutoff = 0;			}		}		if (first) {			winfo.wm_name   = (char *) malloc(1024);			winfo.res_name  = (char *) malloc(1024);			winfo.res_class = (char *) malloc(1024);		}		first = 0;				tree_descend_cursor(&depth, &win, &winfo);		if (depth <= depth_cutoff) {			which = CURS_ROOT;		} else if (mode >= 2) {			int which0 = which;			if (win) {				int ratio = 10, x, y;				unsigned int w, h, bw, d;  				Window r;				trapped_xerror = 0;				old_handler = XSetErrorHandler(trap_xerror);				if (XGetGeometry(dpy, win, &r, &x, &y, &w, &h,				    &bw, &d)) {					if (w > ratio * h || h > ratio * w) {						which = CURS_WM;					}				}				XSetErrorHandler(old_handler);				trapped_xerror = 0;			}			if (which == which0) {				lowercase(winfo.res_name);				lowercase(winfo.res_class);				if (strstr(winfo.res_name, "term")) {					which = CURS_TERM;				} else if (strstr(winfo.res_class, "term")) {					which = CURS_TERM;				}			}		}	}	return which;}