Separate out the menu window from the client resize/move geom window; in each
case, create and destroy on-demand. Isolate more menu specific code.
This commit is contained in:
15
calmwm.h
15
calmwm.h
@@ -47,9 +47,6 @@
|
||||
|
||||
#define BUTTONMASK (ButtonPressMask | ButtonReleaseMask)
|
||||
#define MOUSEMASK (BUTTONMASK | PointerMotionMask)
|
||||
#define MENUMASK (MOUSEMASK | ButtonMotionMask | KeyPressMask | \
|
||||
ExposureMask)
|
||||
#define MENUGRABMASK (MOUSEMASK | ButtonMotionMask | StructureNotifyMask)
|
||||
#define IGNOREMODMASK (LockMask | Mod2Mask | 0x2000)
|
||||
|
||||
/* direction/amount */
|
||||
@@ -229,7 +226,7 @@ struct screen_ctx {
|
||||
struct {
|
||||
Window win;
|
||||
XftDraw *xftdraw;
|
||||
} menu;
|
||||
} prop;
|
||||
XftColor xftcolor[CWM_COLOR_NITEMS];
|
||||
XftFont *xftfont;
|
||||
};
|
||||
@@ -484,6 +481,12 @@ void screen_init(int);
|
||||
void screen_update_geometry(struct screen_ctx *);
|
||||
void screen_updatestackingorder(struct screen_ctx *);
|
||||
void screen_assert_clients_within(struct screen_ctx *);
|
||||
void screen_prop_win_create(struct screen_ctx *, Window);
|
||||
void screen_prop_win_destroy(struct screen_ctx *);
|
||||
void screen_prop_win_draw(struct screen_ctx *,
|
||||
const char *, ...)
|
||||
__attribute__((__format__ (printf, 2, 3)))
|
||||
__attribute__((__nonnull__ (2)));
|
||||
|
||||
void kbfunc_cwm_status(void *, struct cargs *);
|
||||
void kbfunc_ptrmove(void *, struct cargs *);
|
||||
@@ -522,10 +525,6 @@ void kbfunc_exec_cmd(void *, struct cargs *);
|
||||
void kbfunc_exec_lock(void *, struct cargs *);
|
||||
void kbfunc_exec_term(void *, struct cargs *);
|
||||
|
||||
void menu_windraw(struct screen_ctx *, Window,
|
||||
const char *, ...)
|
||||
__attribute__((__format__ (printf, 3, 4)))
|
||||
__attribute__((__nonnull__ (3)));
|
||||
struct menu *menu_filter(struct screen_ctx *, struct menu_q *,
|
||||
const char *, const char *, int,
|
||||
void (*)(struct menu_q *, struct menu_q *, char *),
|
||||
|
||||
Reference in New Issue
Block a user