mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
bring mousefunc closer to kbfunc
This commit is contained in:
parent
c4f6134ebe
commit
10d4dcb127
31
calmwm.h
31
calmwm.h
@ -255,7 +255,8 @@ TAILQ_HEAD(keybinding_q, keybinding);
|
||||
|
||||
struct mousebinding {
|
||||
TAILQ_ENTRY(mousebinding) entry;
|
||||
void (*callback)(struct client_ctx *, void *);
|
||||
void (*callback)(struct client_ctx *, union arg *);
|
||||
union arg argument;
|
||||
u_int modmask;
|
||||
u_int button;
|
||||
#define MOUSEBIND_CTX_ROOT 0x0001
|
||||
@ -483,19 +484,25 @@ void kbfunc_term(struct client_ctx *, union arg *);
|
||||
void kbfunc_tile(struct client_ctx *, union arg *);
|
||||
|
||||
void mousefunc_client_cyclegroup(struct client_ctx *,
|
||||
void *);
|
||||
union arg *);
|
||||
void mousefunc_client_grouptoggle(struct client_ctx *,
|
||||
void *);
|
||||
void mousefunc_client_hide(struct client_ctx *, void *);
|
||||
void mousefunc_client_lower(struct client_ctx *, void *);
|
||||
void mousefunc_client_move(struct client_ctx *, void *);
|
||||
void mousefunc_client_raise(struct client_ctx *, void *);
|
||||
union arg *);
|
||||
void mousefunc_client_hide(struct client_ctx *,
|
||||
union arg *);
|
||||
void mousefunc_client_lower(struct client_ctx *,
|
||||
union arg *);
|
||||
void mousefunc_client_move(struct client_ctx *,
|
||||
union arg *);
|
||||
void mousefunc_client_raise(struct client_ctx *,
|
||||
union arg *);
|
||||
void mousefunc_client_rcyclegroup(struct client_ctx *,
|
||||
void *);
|
||||
void mousefunc_client_resize(struct client_ctx *, void *);
|
||||
void mousefunc_menu_cmd(struct client_ctx *, void *);
|
||||
void mousefunc_menu_group(struct client_ctx *, void *);
|
||||
void mousefunc_menu_unhide(struct client_ctx *, void *);
|
||||
union arg *);
|
||||
void mousefunc_client_resize(struct client_ctx *,
|
||||
union arg *);
|
||||
void mousefunc_menu_cmd(struct client_ctx *, union arg *);
|
||||
void mousefunc_menu_group(struct client_ctx *, union arg *);
|
||||
void mousefunc_menu_unhide(struct client_ctx *,
|
||||
union arg *);
|
||||
|
||||
struct menu *menu_filter(struct screen_ctx *, struct menu_q *,
|
||||
char *, char *, int,
|
||||
|
31
conf.c
31
conf.c
@ -535,22 +535,24 @@ conf_unbind_kbd(struct conf *c, struct keybinding *unbind)
|
||||
}
|
||||
|
||||
static struct {
|
||||
char *tag;
|
||||
void (*handler)(struct client_ctx *, void *);
|
||||
int flags;
|
||||
char *tag;
|
||||
void (*handler)(struct client_ctx *, union arg *);
|
||||
int flags;
|
||||
union arg argument;
|
||||
} name_to_mousefunc[] = {
|
||||
{ "window_move", mousefunc_client_move, MOUSEBIND_CTX_WIN },
|
||||
{ "window_resize", mousefunc_client_resize, MOUSEBIND_CTX_WIN },
|
||||
{ "window_move", mousefunc_client_move, MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "window_resize", mousefunc_client_resize, MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "window_grouptoggle", mousefunc_client_grouptoggle,
|
||||
MOUSEBIND_CTX_WIN },
|
||||
{ "window_lower", mousefunc_client_lower, MOUSEBIND_CTX_WIN },
|
||||
{ "window_raise", mousefunc_client_raise, MOUSEBIND_CTX_WIN },
|
||||
{ "window_hide", mousefunc_client_hide, MOUSEBIND_CTX_WIN },
|
||||
{ "cyclegroup", mousefunc_client_cyclegroup, MOUSEBIND_CTX_ROOT },
|
||||
{ "rcyclegroup", mousefunc_client_rcyclegroup, MOUSEBIND_CTX_ROOT },
|
||||
{ "menu_group", mousefunc_menu_group, MOUSEBIND_CTX_ROOT },
|
||||
{ "menu_unhide", mousefunc_menu_unhide, MOUSEBIND_CTX_ROOT },
|
||||
{ "menu_cmd", mousefunc_menu_cmd, MOUSEBIND_CTX_ROOT },
|
||||
MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "window_lower", mousefunc_client_lower, MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "window_raise", mousefunc_client_raise, MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "window_hide", mousefunc_client_hide, MOUSEBIND_CTX_WIN, {0} },
|
||||
{ "cyclegroup", mousefunc_client_cyclegroup, MOUSEBIND_CTX_ROOT, {0} },
|
||||
{ "rcyclegroup", mousefunc_client_rcyclegroup,
|
||||
MOUSEBIND_CTX_ROOT, {0} },
|
||||
{ "menu_group", mousefunc_menu_group, MOUSEBIND_CTX_ROOT, {0} },
|
||||
{ "menu_unhide", mousefunc_menu_unhide, MOUSEBIND_CTX_ROOT, {0} },
|
||||
{ "menu_cmd", mousefunc_menu_cmd, MOUSEBIND_CTX_ROOT, {0} },
|
||||
};
|
||||
|
||||
static unsigned int mouse_btns[] = {
|
||||
@ -597,6 +599,7 @@ conf_bind_mouse(struct conf *c, char *name, char *binding)
|
||||
|
||||
current_binding->callback = name_to_mousefunc[i].handler;
|
||||
current_binding->flags = name_to_mousefunc[i].flags;
|
||||
current_binding->argument = name_to_mousefunc[i].argument;
|
||||
TAILQ_INSERT_TAIL(&c->mousebindingq, current_binding, entry);
|
||||
return (1);
|
||||
}
|
||||
|
22
mousefunc.c
22
mousefunc.c
@ -66,7 +66,7 @@ mousefunc_sweep_draw(struct client_ctx *cc)
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_resize(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_resize(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
XEvent ev;
|
||||
Time ltime = 0;
|
||||
@ -120,7 +120,7 @@ mousefunc_client_resize(struct client_ctx *cc, void *arg)
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_move(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_move(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
XEvent ev;
|
||||
Time ltime = 0;
|
||||
@ -173,50 +173,50 @@ mousefunc_client_move(struct client_ctx *cc, void *arg)
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_grouptoggle(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_grouptoggle(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
group_sticky_toggle_enter(cc);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_lower(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_lower(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
client_ptrsave(cc);
|
||||
client_lower(cc);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_raise(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_raise(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
client_raise(cc);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_hide(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_hide(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
client_hide(cc);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_cyclegroup(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_cyclegroup(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
group_cycle(cc->sc, CWM_CYCLE);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_client_rcyclegroup(struct client_ctx *cc, void *arg)
|
||||
mousefunc_client_rcyclegroup(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
group_cycle(cc->sc, CWM_RCYCLE);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_menu_group(struct client_ctx *cc, void *arg)
|
||||
mousefunc_menu_group(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
group_menu(cc->sc);
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_menu_unhide(struct client_ctx *cc, void *arg)
|
||||
mousefunc_menu_unhide(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
struct screen_ctx *sc = cc->sc;
|
||||
struct client_ctx *old_cc;
|
||||
@ -258,7 +258,7 @@ mousefunc_menu_unhide(struct client_ctx *cc, void *arg)
|
||||
}
|
||||
|
||||
void
|
||||
mousefunc_menu_cmd(struct client_ctx *cc, void *arg)
|
||||
mousefunc_menu_cmd(struct client_ctx *cc, union arg *arg)
|
||||
{
|
||||
struct screen_ctx *sc = cc->sc;
|
||||
struct menu *mi;
|
||||
|
Loading…
Reference in New Issue
Block a user