Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
dwm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added mouse-based resizals
[dwm.git]
/
event.c
diff --git
a/event.c
b/event.c
index
344a0cc
..
ad4a16b
100644
(file)
--- a/
event.c
+++ b/
event.c
@@
-12,6
+12,7
@@
#include "wm.h"
/* local functions */
#include "wm.h"
/* local functions */
+static void buttonpress(XEvent *e);
static void configurerequest(XEvent *e);
static void destroynotify(XEvent *e);
static void enternotify(XEvent *e);
static void configurerequest(XEvent *e);
static void destroynotify(XEvent *e);
static void enternotify(XEvent *e);
@@
-23,6
+24,7
@@
static void propertynotify(XEvent *e);
static void unmapnotify(XEvent *e);
void (*handler[LASTEvent]) (XEvent *) = {
static void unmapnotify(XEvent *e);
void (*handler[LASTEvent]) (XEvent *) = {
+ [ButtonPress] = buttonpress,
[ConfigureRequest] = configurerequest,
[DestroyNotify] = destroynotify,
[EnterNotify] = enternotify,
[ConfigureRequest] = configurerequest,
[DestroyNotify] = destroynotify,
[EnterNotify] = enternotify,
@@
-36,7
+38,7
@@
void (*handler[LASTEvent]) (XEvent *) = {
};
unsigned int
};
unsigned int
-flush_events(long even_mask)
+discard_events(long even_mask)
{
XEvent ev;
unsigned int n = 0;
{
XEvent ev;
unsigned int n = 0;
@@
-45,15
+47,37
@@
flush_events(long even_mask)
}
static void
}
static void
+buttonpress(XEvent *e)
+{
+ XButtonPressedEvent *ev = &e->xbutton;
+ Client *c;
+
+ if((c = getclient(ev->window))) {
+ switch(ev->button) {
+ default:
+ break;
+ case Button1:
+ mmove(c);
+ break;
+ case Button2:
+ XLowerWindow(dpy, c->win);
+ break;
+ case Button3:
+ mresize(c);
+ break;
+ }
+ }
+}
+
+static void
configurerequest(XEvent *e)
{
XConfigureRequestEvent *ev = &e->xconfigurerequest;
XWindowChanges wc;
Client *c;
configurerequest(XEvent *e)
{
XConfigureRequestEvent *ev = &e->xconfigurerequest;
XWindowChanges wc;
Client *c;
- c = getclient(ev->window);
ev->value_mask &= ~CWSibling;
ev->value_mask &= ~CWSibling;
- if(c) {
+ if((c = getclient(ev->window))) {
if(ev->value_mask & CWX)
c->r[RFloat].x = ev->x;
if(ev->value_mask & CWY)
if(ev->value_mask & CWX)
c->r[RFloat].x = ev->x;
if(ev->value_mask & CWY)