event.c
changeset 757 22dfaeb82491
parent 756 df3ea2f76f54
child 760 8ed842c35e8d
equal deleted inserted replaced
756:df3ea2f76f54 757:22dfaeb82491
   154 			restack();
   154 			restack();
   155 			movemouse(c);
   155 			movemouse(c);
   156 		}
   156 		}
   157 		else if(ev->button == Button2)
   157 		else if(ev->button == Button2)
   158 			zoom(NULL);
   158 			zoom(NULL);
   159 		else if(ev->button == Button3 && (arrange == dofloat || c->isfloat)
   159 		else if(ev->button == Button3
   160 				&& !c->isfixed)
   160 		&& (arrange == dofloat || c->isfloat) && !c->isfixed)
   161 		{
   161 		{
   162 			restack();
   162 			restack();
   163 			resizemouse(c);
   163 			resizemouse(c);
   164 		}
   164 		}
   165 	}
   165 	}
   182 				c->y = ev->y;
   182 				c->y = ev->y;
   183 			if(ev->value_mask & CWWidth)
   183 			if(ev->value_mask & CWWidth)
   184 				c->w = ev->width;
   184 				c->w = ev->width;
   185 			if(ev->value_mask & CWHeight)
   185 			if(ev->value_mask & CWHeight)
   186 				c->h = ev->height;
   186 				c->h = ev->height;
   187 			if((ev->value_mask & (CWX | CWY)) && !(ev->value_mask & (CWWidth | CWHeight)))
   187 			if((ev->value_mask & (CWX | CWY))
       
   188 			&& !(ev->value_mask & (CWWidth | CWHeight)))
   188 				configure(c);
   189 				configure(c);
   189 			resize(c, False);
   190 			resize(c, False);
   190 			if(!isvisible(c))
   191 			if(!isvisible(c))
   191 				XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
   192 				XMoveWindow(dpy, c->win, c->x + 2 * sw, c->y);
   192 		}
   193 		}
   247 	unsigned int i;
   248 	unsigned int i;
   248 	KeySym keysym;
   249 	KeySym keysym;
   249 	XKeyEvent *ev = &e->xkey;
   250 	XKeyEvent *ev = &e->xkey;
   250 
   251 
   251 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
   252 	keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0);
   252 	for(i = 0; i < len; i++) {
   253 	for(i = 0; i < len; i++)
   253 		if(keysym == key[i].keysym
   254 		if(keysym == key[i].keysym
   254 			&& CLEANMASK(key[i].mod) == CLEANMASK(ev->state))
   255 		&& CLEANMASK(key[i].mod) == CLEANMASK(ev->state))
   255 		{
   256 		{
   256 			if(key[i].func)
   257 			if(key[i].func)
   257 				key[i].func(&key[i].arg);
   258 				key[i].func(&key[i].arg);
   258 		}
   259 		}
   259 	}
       
   260 }
   260 }
   261 
   261 
   262 static void
   262 static void
   263 leavenotify(XEvent *e) {
   263 leavenotify(XEvent *e) {
   264 	XCrossingEvent *ev = &e->xcrossing;
   264 	XCrossingEvent *ev = &e->xcrossing;