Make menu_filter handle mouse movement too. This enables the keyboard

search dialogues to be manipulated with the mouse, too. It also allows
me to shrink the codebase further by killing grab_menu().

One known issue with highlighting the first entry in a search dialogue,
that'll be fixed soonish.

ok okan@, tested by Edd Barrett and todd@.
This commit is contained in:
oga
2008-05-21 14:11:19 +00:00
parent 1e46ba72f7
commit 779cf04f05
6 changed files with 143 additions and 154 deletions

View File

@@ -65,7 +65,7 @@ struct screen_ctx {
whitecolor, blackcolor;
char *display;
unsigned long blackpixl, whitepixl, redpixl, bluepixl, cyanpixl;
GC gc, hlgc;
GC gc;
Pixmap gray, blue, red;
@@ -356,6 +356,7 @@ void client_do_shape(struct client_ctx *);
struct menu *menu_filter(struct menu_q *, char *, char *, int,
void (*)(struct menu_q *, struct menu_q *, char *),
void (*)(struct menu *, int));
void menu_init(struct screen_ctx *);
void xev_handle_maprequest(struct xevent *, XEvent *);
void xev_handle_unmapnotify(struct xevent *, XEvent *);
@@ -405,8 +406,6 @@ void u_exec(char *);
void grab_sweep(struct client_ctx *);
void grab_drag(struct client_ctx *);
void grab_menuinit(struct screen_ctx *);
void *grab_menu(XButtonEvent *, struct menu_q *);
void grab_label(struct client_ctx *);
void xfree(void *);