From c4a8f44931713f32f250264ca00520aae30fc0e3 Mon Sep 17 00:00:00 2001 From: oga Date: Tue, 20 May 2008 14:50:51 +0000 Subject: Pull out the behaviour in grab_label and search_start into one utility function menu_filter(). The plan is to eventually merge in grab_menu too. Shrinks the code a fair bit. Also, change XMaskEvent for XWindowEvent to prevent getting exposes for other windows. This is particuarly noticable on slow machines with a LOT of xterms (todd, you're an odd man). ok okan@, todd@. --- calmwm.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'calmwm.h') diff --git a/calmwm.h b/calmwm.h index c3fac3e..3c9cb3c 100644 --- a/calmwm.h +++ b/calmwm.h @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: calmwm.h,v 1.48 2008/05/19 18:07:53 okan Exp $ + * $Id: calmwm.h,v 1.49 2008/05/20 14:50:51 oga Exp $ */ #ifndef _CALMWM_H_ @@ -60,7 +60,6 @@ struct screen_ctx { u_int which; Window rootwin; Window menuwin; - Window searchwin; Colormap colormap; XColor bgcolor, fgcolor, fccolor, redcolor, cyancolor, whitecolor, blackcolor; @@ -72,13 +71,13 @@ struct screen_ctx { int altpersist; - int maxinitialised; int xmax; int ymax; struct cycle_entry_q mruq; struct fonthash fonthash; + u_int fontheight; XftDraw *xftdraw; XftColor xftcolor; }; @@ -354,6 +353,10 @@ void client_gethints(struct client_ctx *); void client_freehints(struct client_ctx *); 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 xev_handle_maprequest(struct xevent *, XEvent *); void xev_handle_unmapnotify(struct xevent *, XEvent *); void xev_handle_destroynotify(struct xevent *, XEvent *); @@ -449,11 +452,6 @@ void kbfunc_ssh(struct client_ctx *, void *); void kbfunc_term(struct client_ctx *, void *); void kbfunc_lock(struct client_ctx *, void *); -void search_init(struct screen_ctx *); -struct menu *search_start(struct menu_q *, - void (*)(struct menu_q *, struct menu_q *, char *), - void (*)(struct menu *, int), - char *, int); void search_match_client(struct menu_q *, struct menu_q *, char *); void search_print_client(struct menu *, int); -- cgit v1.2.3-2-gb3c3