diff options
| author | Scott Moynes <smoynes@nexus.carleton.ca> | 2003-07-26 06:02:58 +0000 |
|---|---|---|
| committer | Scott Moynes <smoynes@nexus.carleton.ca> | 2003-07-26 06:02:58 +0000 |
| commit | 3c92311b3c88e7da28aabe59d26c10a18c096399 (patch) | |
| tree | 57aa51295af58f3023e95458d0d70ccc34a5bfb7 /openbox/event.c | |
| parent | 11cde9683d8d722d34c8b730d6bdd73fe73b080b (diff) | |
Some menu updates.
Don't talk to me about menus.
Diffstat (limited to 'openbox/event.c')
| -rw-r--r-- | openbox/event.c | 60 |
1 files changed, 10 insertions, 50 deletions
diff --git a/openbox/event.c b/openbox/event.c index 7252c379..366c91ad 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -972,7 +972,6 @@ static void event_handle_client(ObClient *client, XEvent *e) static void event_handle_menu(ObClient *client, XEvent *e) { - static ObMenuEntry *over = NULL; ObMenuEntry *entry; ObMenu *top; GList *it = NULL; @@ -982,27 +981,11 @@ static void event_handle_menu(ObClient *client, XEvent *e) ob_debug("EVENT %d\n", e->type); switch (e->type) { case KeyPress: - if (e->xkey.keycode == ob_keycode(OB_KEY_DOWN)) - over = menu_control_keyboard_nav(over, OB_KEY_DOWN); - else if (e->xkey.keycode == ob_keycode(OB_KEY_UP)) - over = menu_control_keyboard_nav(over, OB_KEY_UP); - else if (e->xkey.keycode == ob_keycode(OB_KEY_RIGHT)) /* fuck */ - over = menu_control_keyboard_nav(over, OB_KEY_RIGHT); - else if (e->xkey.keycode == ob_keycode(OB_KEY_LEFT)) /* users */ - over = menu_control_keyboard_nav(over, OB_KEY_LEFT); - else { - if (over) { - over->parent->mouseover(over, FALSE); - over = NULL; - } - - menu_hide(top); - } + menu_control_keyboard_nav(e->xkey.keycode); break; case ButtonPress: - if (e->xbutton.button > 3) break; - ob_debug("BUTTON PRESS\n"); + break; case ButtonRelease: ob_debug("BUTTON RELEASED\n"); @@ -1020,31 +1003,13 @@ static void event_handle_menu(ObClient *client, XEvent *e) m->location.x, e->xbutton.y_root - m->location.y))) { - if (over) { - over->parent->mouseover(over, FALSE); - /* this hides the menu */ - - over->parent->selected(entry, e->xbutton.button, - e->xbutton.x_root, - e->xbutton.y_root); - over = NULL; - } + m->selected(entry, e->xbutton.button, + e->xbutton.x_root, + e->xbutton.y_root); + break; } - break; } } - if (!it) { - if (over) { - over->parent->mouseover(over, FALSE); - over = NULL; - } -/* - if (top->hide) - top->hide(top); - else -*/ - menu_hide(top); - } break; case MotionNotify: @@ -1056,19 +1021,14 @@ static void event_handle_menu(ObClient *client, XEvent *e) m->location.x, e->xmotion.y_root - m->location.y))) { - if (over && entry != over) { - over->parent->mouseover(over, FALSE); - } + if (m->over && m->over->data != entry) + m->mouseover(m->over->data, FALSE); - over = entry; - over->parent->mouseover(over, TRUE); + m->mouseover(entry, TRUE); break; } } - if (!it && over) { - over->parent->mouseover(over, FALSE); - over = NULL; - } + break; } } |
