diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-04-15 18:29:55 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-04-15 18:29:55 +0000 |
| commit | 0e28a07e3d6677aa6af9ad97fbc55f8101f3fdf2 (patch) | |
| tree | e180e7b7162d9d75e7e307bd236784730547cf74 /plugins/mouse/mouse.c | |
| parent | 1c3689d0c725202eba7191d32480aa2cc3addfea (diff) | |
start of showing/rendering menus. woot!
Diffstat (limited to 'plugins/mouse/mouse.c')
| -rw-r--r-- | plugins/mouse/mouse.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/plugins/mouse/mouse.c b/plugins/mouse/mouse.c index 45559e5c..2a0b4ecc 100644 --- a/plugins/mouse/mouse.c +++ b/plugins/mouse/mouse.c @@ -105,7 +105,7 @@ static void clearall() } static void fire_button(MouseAction a, Context context, Client *c, guint state, - guint button) + guint button, int x, int y) { GSList *it; MouseBinding *b; @@ -124,6 +124,11 @@ static void fire_button(MouseAction a, Context context, Client *c, guint state, g_assert(!(b->action[a]->func == action_move || b->action[a]->func == action_resize)); + if (b->action[a]->func == action_showmenu) { + b->action[a]->data.showmenu.x = x; + b->action[a]->data.showmenu.y = y; + } + b->action[a]->func(&b->action[a]->data); } } @@ -245,7 +250,8 @@ static void event(ObEvent *e, void *foo) fire_button(MouseAction_Press, context, e->data.x.client, e->data.x.e->xbutton.state, - e->data.x.e->xbutton.button); + e->data.x.e->xbutton.button, + e->data.x.e->xbutton.x_root, e->data.x.e->xbutton.y_root); if (context == Context_Client) { /* Replay the event, so it goes to the client*/ @@ -295,15 +301,20 @@ static void event(ObEvent *e, void *foo) } fire_button(MouseAction_Release, context, e->data.x.client, e->data.x.e->xbutton.state, - e->data.x.e->xbutton.button); + e->data.x.e->xbutton.button, + e->data.x.e->xbutton.x_root, e->data.x.e->xbutton.y_root); if (click) fire_button(MouseAction_Click, context, e->data.x.client, e->data.x.e->xbutton.state, - e->data.x.e->xbutton.button); + e->data.x.e->xbutton.button, + e->data.x.e->xbutton.x_root, + e->data.x.e->xbutton.y_root); if (dclick) fire_button(MouseAction_DClick, context, e->data.x.client, e->data.x.e->xbutton.state, - e->data.x.e->xbutton.button); + e->data.x.e->xbutton.button, + e->data.x.e->xbutton.x_root, + e->data.x.e->xbutton.y_root); break; case Event_X_MotionNotify: |
