applied sumik's multihead patch fde45ebe
Anselm R.Garbe · 2006-08-10 11:26 3 file(s) · +13 −6
client.c +2 −0
49 49
void
50 50
focus(Client *c)
51 51
{
52 +
	if (!issel)
53 +
		return;
52 54
	Client *old = sel;
53 55
	XEvent ev;
54 56
draw.c +1 −1
138 138
	int i;
139 139
	Bool istile = arrange == dotile;
140 140
141 -
	if(c == sel) {
141 +
	if(c == sel && issel) {
142 142
		drawstatus();
143 143
		XUnmapWindow(dpy, c->title);
144 144
		XSetWindowBorder(dpy, c->win, dc.fg);
event.c +10 −5
114 114
			}
115 115
			break;
116 116
		case Button4:
117 -
			viewnext(&a);
117 +
			viewprev(&a);
118 118
			break;
119 119
		case Button5:
120 -
			viewprev(&a);
120 +
			viewnext(&a);
121 121
			break;
122 122
		}
123 123
	}
226 226
227 227
	if((c = getclient(ev->window)) || (c = getctitle(ev->window)))
228 228
		focus(c);
229 -
	else if(ev->window == root)
229 +
	else if(ev->window == root) {
230 230
		issel = True;
231 +
		XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
232 +
		drawall();
233 +
	}
231 234
}
232 235
233 236
static void
267 270
{
268 271
	XCrossingEvent *ev = &e->xcrossing;
269 272
270 -
	if((ev->window == root) && !ev->same_screen)
271 -
		issel = True;
273 +
	if((ev->window == root) && !ev->same_screen) {
274 +
		issel = False;
275 +
		drawall();
276 +
	}
272 277
}
273 278
274 279
static void