예제 #1
0
void
event_maprequest(XMapRequestEvent *ev) {
	Window *w;

	if((w = findwin(ev->parent)))
		event_handle(w, mapreq, ev);
}
예제 #2
0
void
event_leavenotify(XCrossingEvent *ev) {
	Window *w;

	if(!ev->send_event)
		event_xtime = ev->time;
	if((w = findwin(ev->window)))
		event_handle(w, leave, ev);
}
예제 #3
0
void
event_motionnotify(XMotionEvent *ev) {
	Window *w;

	if(!ev->send_event)
		event_xtime = ev->time;
	if((w = findwin(ev->window)))
		event_handle(w, motion, ev);
}
예제 #4
0
파일: event.c 프로젝트: bartman/wmii
static void
buttonrelease(XEvent *e) {
	XButtonPressedEvent *ev;
	Window *w;

	ev = &e->xbutton;
	if((w = findwin(ev->window)))
		handle(w, bup, ev);
}
예제 #5
0
void
event_selectionrequest(XSelectionRequestEvent *ev) {
	Window *w;

	if(!ev->send_event)
		event_xtime = ev->time;
	if((w = findwin(ev->owner)))
		event_handle(w, selectionrequest, ev);
}
예제 #6
0
파일: event.c 프로젝트: bartman/wmii
static void
mapnotify(XEvent *e) {
	XMapEvent *ev;
	Window *w;

	ev = &e->xmap;
	if((w = findwin(ev->window))) 
		handle(w, map, ev);
}
예제 #7
0
파일: event.c 프로젝트: bartman/wmii
static void
destroynotify(XEvent *e) {
	XDestroyWindowEvent *ev;
	Window *w;

	ev = &e->xdestroywindow;
	if((w = findwin(ev->window))) 
		handle(w, destroy, ev);
}
예제 #8
0
파일: event.c 프로젝트: bartman/wmii
static void
configurenotify(XEvent *e) {
	XConfigureEvent *ev;
	Window *w;

	ev = &e->xconfigure;
	if((w = findwin(ev->window)))
		handle(w, config, ev);
}
예제 #9
0
파일: event.c 프로젝트: bartman/wmii
static void
propertynotify(XEvent *e) {
	XPropertyEvent *ev;
	Window *w;

	ev = &e->xproperty;
	xtime = ev->time;
	if((w = findwin(ev->window))) 
		handle(w, property, ev);
}
예제 #10
0
파일: event.c 프로젝트: bartman/wmii
static void
motionnotify(XEvent *e) {
	XMotionEvent *ev;
	Window *w;

	ev = &e->xmotion;
	xtime = ev->time;
	if((w = findwin(ev->window)))
		handle(w, motion, ev);
}
예제 #11
0
파일: event.c 프로젝트: bartman/wmii
static void
unmapnotify(XEvent *e) {
	XUnmapEvent *ev;
	Window *w;

	ev = &e->xunmap;
	if((w = findwin(ev->window)) && w->parent && (ev->event == w->parent->xid)) {
		if(ev->send_event || w->unmapped-- == 0)
			handle(w, unmap, ev);
	}
}
예제 #12
0
파일: event.c 프로젝트: bartman/wmii
static void
expose(XEvent *e) {
	XExposeEvent *ev;
	Window *w;

	ev = &e->xexpose;
	if(ev->count == 0) {
		if((w = findwin(ev->window))) 
			handle(w, expose, ev);
	}
}
예제 #13
0
파일: event.c 프로젝트: bartman/wmii
static void
buttonpress(XEvent *e) {
	XButtonPressedEvent *ev;
	Window *w;

	ev = &e->xbutton;
	if((w = findwin(ev->window)))
		handle(w, bdown, ev);
	else
		XAllowEvents(display, ReplayPointer, ev->time);
}
예제 #14
0
void
event_enternotify(XCrossingEvent *ev) {
	Window *w;

	if(!ev->send_event)
		event_xtime = ev->time;
	if(ev->mode != NotifyNormal)
		return;

	if((w = findwin(ev->window)))
		event_handle(w, enter, ev);
}
예제 #15
0
파일: event.c 프로젝트: bartman/wmii
static void
enternotify(XEvent *e) {
	XCrossingEvent *ev;
	Window *w;

	ev = &e->xcrossing;
	xtime = ev->time;
	if(ev->mode != NotifyNormal)
		return;

	if((w = findwin(ev->window))) 
		handle(w, enter, ev);
}
예제 #16
0
파일: event.c 프로젝트: bartman/wmii
static void
focusout(XEvent *e) {
	XFocusChangeEvent *ev;
	Window *w;

	ev = &e->xfocus;
	if(!((ev->detail == NotifyNonlinear)
	   ||(ev->detail == NotifyNonlinearVirtual)
	   ||(ev->detail == NotifyVirtual)
	   ||(ev->detail == NotifyInferior)
	   ||(ev->detail == NotifyAncestor)))
		return;

	if((w = findwin(ev->window))) 
		handle(w, focusout, ev);
}
예제 #17
0
파일: event.c 프로젝트: bartman/wmii
static void
focusin(XEvent *e) {
	XFocusChangeEvent *ev;
	Window *w;

	ev = &e->xfocus;
	/* Yes, we're focusing in on nothing, here. */
	if(ev->detail == NotifyDetailNone) {
		/* FIXME: Do something. */
		return;
	}

	if(!((ev->detail == NotifyNonlinear)
	   ||(ev->detail == NotifyNonlinearVirtual)
	   ||(ev->detail == NotifyVirtual)
	   ||(ev->detail == NotifyInferior)
	   ||(ev->detail == NotifyAncestor)))
		return;
	if((ev->mode == NotifyWhileGrabbed))
		return;

	if((w = findwin(ev->window))) 
		handle(w, focusin, ev);
}