Move the keybinding argument to a union to prevent warnings where
sizeof(int) != sizeof(void *). This has been annoying me for ages. ok okan@, todd@
This commit is contained in:
parent
657562ff77
commit
9908d2b7cb
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $Id: calmwm.h,v 1.78 2009/01/22 15:26:33 oga Exp $
|
* $Id: calmwm.h,v 1.79 2009/01/23 18:58:40 oga Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _CALMWM_H_
|
#ifndef _CALMWM_H_
|
||||||
@ -205,14 +205,19 @@ TAILQ_HEAD(winmatch_q, winmatch);
|
|||||||
|
|
||||||
#define KBTOGROUP(X) ((X) - 1)
|
#define KBTOGROUP(X) ((X) - 1)
|
||||||
|
|
||||||
|
union arg {
|
||||||
|
char *c;
|
||||||
|
int i;
|
||||||
|
};
|
||||||
|
|
||||||
struct keybinding {
|
struct keybinding {
|
||||||
|
TAILQ_ENTRY(keybinding) entry;
|
||||||
|
void (*callback)(struct client_ctx *, union arg *);
|
||||||
|
union arg argument;
|
||||||
int modmask;
|
int modmask;
|
||||||
int keysym;
|
int keysym;
|
||||||
int keycode;
|
int keycode;
|
||||||
int flags;
|
int flags;
|
||||||
void (*callback)(struct client_ctx *, void *);
|
|
||||||
void *argument;
|
|
||||||
TAILQ_ENTRY(keybinding) entry;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cmd {
|
struct cmd {
|
||||||
@ -423,29 +428,34 @@ void conf_cmd_add(struct conf *, char *, char *, int);
|
|||||||
|
|
||||||
int parse_config(const char *, struct conf *);
|
int parse_config(const char *, struct conf *);
|
||||||
|
|
||||||
void kbfunc_client_lower(struct client_ctx *, void *);
|
void kbfunc_client_lower(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_raise(struct client_ctx *, void *);
|
void kbfunc_client_raise(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_search(struct client_ctx *, void *);
|
void kbfunc_client_search(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_hide(struct client_ctx *, void *);
|
void kbfunc_client_hide(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_cycle(struct client_ctx *, void *);
|
void kbfunc_client_cycle(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_rcycle(struct client_ctx *, void *);
|
void kbfunc_client_rcycle(struct client_ctx *, union arg *);
|
||||||
void kbfunc_cmdexec(struct client_ctx *, void *);
|
void kbfunc_cmdexec(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_label(struct client_ctx *, void *);
|
void kbfunc_client_label(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_delete(struct client_ctx *, void *);
|
void kbfunc_client_delete(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_group(struct client_ctx *, void *);
|
void kbfunc_client_group(struct client_ctx *, union arg *);
|
||||||
void kbfunc_client_cyclegroup(struct client_ctx *, void *);
|
void kbfunc_client_cyclegroup(struct client_ctx *,
|
||||||
void kbfunc_client_nogroup(struct client_ctx *, void *);
|
union arg *);
|
||||||
void kbfunc_client_grouptoggle(struct client_ctx *, void *);
|
void kbfunc_client_nogroup(struct client_ctx *,
|
||||||
void kbfunc_client_maximize(struct client_ctx *, void *);
|
union arg *);
|
||||||
void kbfunc_client_vmaximize(struct client_ctx *, void *);
|
void kbfunc_client_grouptoggle(struct client_ctx *,
|
||||||
void kbfunc_reload(struct client_ctx *, void *);
|
union arg *);
|
||||||
void kbfunc_quit_wm(struct client_ctx *, void *);
|
void kbfunc_client_maximize(struct client_ctx *,
|
||||||
void kbfunc_moveresize(struct client_ctx *, void *);
|
union arg *);
|
||||||
void kbfunc_menu_search(struct client_ctx *, void *);
|
void kbfunc_client_vmaximize(struct client_ctx *,
|
||||||
void kbfunc_exec(struct client_ctx *, void *);
|
union arg *);
|
||||||
void kbfunc_ssh(struct client_ctx *, void *);
|
void kbfunc_reload(struct client_ctx *, union arg *);
|
||||||
void kbfunc_term(struct client_ctx *, void *);
|
void kbfunc_quit_wm(struct client_ctx *, union arg *);
|
||||||
void kbfunc_lock(struct client_ctx *, void *);
|
void kbfunc_moveresize(struct client_ctx *, union arg *);
|
||||||
|
void kbfunc_menu_search(struct client_ctx *, union arg *);
|
||||||
|
void kbfunc_exec(struct client_ctx *, union arg *);
|
||||||
|
void kbfunc_ssh(struct client_ctx *, union arg *);
|
||||||
|
void kbfunc_term(struct client_ctx *, union arg *);
|
||||||
|
void kbfunc_lock(struct client_ctx *, union arg *);
|
||||||
|
|
||||||
void mousefunc_window_resize(struct client_ctx *, void *);
|
void mousefunc_window_resize(struct client_ctx *, void *);
|
||||||
void mousefunc_window_move(struct client_ctx *, void *);
|
void mousefunc_window_move(struct client_ctx *, void *);
|
||||||
|
124
app/cwm/conf.c
124
app/cwm/conf.c
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $Id: conf.c,v 1.53 2009/01/21 15:04:38 todd Exp $
|
* $Id: conf.c,v 1.54 2009/01/23 18:58:40 oga Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "headers.h"
|
#include "headers.h"
|
||||||
@ -207,88 +207,88 @@ conf_client(struct client_ctx *cc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
char *tag;
|
char *tag;
|
||||||
void (*handler)(struct client_ctx *, void *);
|
void (*handler)(struct client_ctx *, union arg *);
|
||||||
int flags;
|
int flags;
|
||||||
void *argument;
|
union arg argument;
|
||||||
} name_to_kbfunc[] = {
|
} name_to_kbfunc[] = {
|
||||||
{ "lower", kbfunc_client_lower, KBFLAG_NEEDCLIENT, 0 },
|
{ "lower", kbfunc_client_lower, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "raise", kbfunc_client_raise, KBFLAG_NEEDCLIENT, 0 },
|
{ "raise", kbfunc_client_raise, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "search", kbfunc_client_search, 0, 0 },
|
{ "search", kbfunc_client_search, 0, {0} },
|
||||||
{ "menusearch", kbfunc_menu_search, 0, 0 },
|
{ "menusearch", kbfunc_menu_search, 0, {0} },
|
||||||
{ "hide", kbfunc_client_hide, KBFLAG_NEEDCLIENT, 0 },
|
{ "hide", kbfunc_client_hide, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "cycle", kbfunc_client_cycle, 0, (void *)CWM_CYCLE },
|
{ "cycle", kbfunc_client_cycle, 0, {.i = CWM_CYCLE} },
|
||||||
{ "rcycle", kbfunc_client_cycle, 0, (void *)CWM_RCYCLE },
|
{ "rcycle", kbfunc_client_cycle, 0, {.i = CWM_RCYCLE} },
|
||||||
{ "label", kbfunc_client_label, KBFLAG_NEEDCLIENT, 0 },
|
{ "label", kbfunc_client_label, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "delete", kbfunc_client_delete, KBFLAG_NEEDCLIENT, 0 },
|
{ "delete", kbfunc_client_delete, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "group1", kbfunc_client_group, 0, (void *)1 },
|
{ "group1", kbfunc_client_group, 0, {.i = 1} },
|
||||||
{ "group2", kbfunc_client_group, 0, (void *)2 },
|
{ "group2", kbfunc_client_group, 0, {.i = 2} },
|
||||||
{ "group3", kbfunc_client_group, 0, (void *)3 },
|
{ "group3", kbfunc_client_group, 0, {.i = 3} },
|
||||||
{ "group4", kbfunc_client_group, 0, (void *)4 },
|
{ "group4", kbfunc_client_group, 0, {.i = 4} },
|
||||||
{ "group5", kbfunc_client_group, 0, (void *)5 },
|
{ "group5", kbfunc_client_group, 0, {.i = 5} },
|
||||||
{ "group6", kbfunc_client_group, 0, (void *)6 },
|
{ "group6", kbfunc_client_group, 0, {.i = 6} },
|
||||||
{ "group7", kbfunc_client_group, 0, (void *)7 },
|
{ "group7", kbfunc_client_group, 0, {.i = 7} },
|
||||||
{ "group8", kbfunc_client_group, 0, (void *)8 },
|
{ "group8", kbfunc_client_group, 0, {.i = 8} },
|
||||||
{ "group9", kbfunc_client_group, 0, (void *)9 },
|
{ "group9", kbfunc_client_group, 0, {.i = 9} },
|
||||||
{ "nogroup", kbfunc_client_nogroup, 0, 0 },
|
{ "nogroup", kbfunc_client_nogroup, 0, {0} },
|
||||||
{ "cyclegroup", kbfunc_client_cyclegroup, 0, (void *)CWM_CYCLEGROUP },
|
{ "cyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_CYCLEGROUP} },
|
||||||
{ "rcyclegroup", kbfunc_client_cyclegroup, 0, (void *)CWM_RCYCLEGROUP },
|
{ "rcyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_RCYCLEGROUP} },
|
||||||
{ "grouptoggle", kbfunc_client_grouptoggle, KBFLAG_NEEDCLIENT, 0},
|
{ "grouptoggle", kbfunc_client_grouptoggle, KBFLAG_NEEDCLIENT, {0}},
|
||||||
{ "maximize", kbfunc_client_maximize, KBFLAG_NEEDCLIENT, 0 },
|
{ "maximize", kbfunc_client_maximize, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "vmaximize", kbfunc_client_vmaximize, KBFLAG_NEEDCLIENT, 0 },
|
{ "vmaximize", kbfunc_client_vmaximize, KBFLAG_NEEDCLIENT, {0} },
|
||||||
{ "reload", kbfunc_reload, 0, 0 },
|
{ "reload", kbfunc_reload, 0, {0} },
|
||||||
{ "quit", kbfunc_quit_wm, 0, 0 },
|
{ "quit", kbfunc_quit_wm, 0, {0} },
|
||||||
{ "exec", kbfunc_exec, 0, (void *)CWM_EXEC_PROGRAM },
|
{ "exec", kbfunc_exec, 0, {.i = CWM_EXEC_PROGRAM} },
|
||||||
{ "exec_wm", kbfunc_exec, 0, (void *)CWM_EXEC_WM },
|
{ "exec_wm", kbfunc_exec, 0, {.i = CWM_EXEC_WM} },
|
||||||
{ "ssh", kbfunc_ssh, 0, 0 },
|
{ "ssh", kbfunc_ssh, 0, {0} },
|
||||||
{ "terminal", kbfunc_term, 0, 0 },
|
{ "terminal", kbfunc_term, 0, {0} },
|
||||||
{ "lock", kbfunc_lock, 0, 0 },
|
{ "lock", kbfunc_lock, 0, {0} },
|
||||||
{ "moveup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "moveup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_UP|CWM_MOVE) },
|
{.i = (CWM_UP|CWM_MOVE)} },
|
||||||
{ "movedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "movedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_DOWN|CWM_MOVE) },
|
{.i = (CWM_DOWN|CWM_MOVE)} },
|
||||||
{ "moveright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "moveright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_RIGHT|CWM_MOVE) },
|
{.i = (CWM_RIGHT|CWM_MOVE)} },
|
||||||
{ "moveleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "moveleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_LEFT|CWM_MOVE) },
|
{.i = (CWM_LEFT|CWM_MOVE)} },
|
||||||
{ "bigmoveup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigmoveup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_UP|CWM_MOVE|CWM_BIGMOVE) },
|
{.i = (CWM_UP|CWM_MOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigmovedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigmovedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_DOWN|CWM_MOVE|CWM_BIGMOVE) },
|
{.i = (CWM_DOWN|CWM_MOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigmoveright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigmoveright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_RIGHT|CWM_MOVE|CWM_BIGMOVE) },
|
{.i = (CWM_RIGHT|CWM_MOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigmoveleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigmoveleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_LEFT|CWM_MOVE|CWM_BIGMOVE) },
|
{.i = (CWM_LEFT|CWM_MOVE|CWM_BIGMOVE)} },
|
||||||
{ "resizeup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "resizeup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_UP|CWM_RESIZE) },
|
{.i = (CWM_UP|CWM_RESIZE)} },
|
||||||
{ "resizedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "resizedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_DOWN|CWM_RESIZE) },
|
{.i = (CWM_DOWN|CWM_RESIZE)} },
|
||||||
{ "resizeright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "resizeright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_RIGHT|CWM_RESIZE) },
|
{.i = (CWM_RIGHT|CWM_RESIZE)} },
|
||||||
{ "resizeleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "resizeleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_LEFT|CWM_RESIZE) },
|
{.i = (CWM_LEFT|CWM_RESIZE)} },
|
||||||
{ "bigresizeup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigresizeup", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_UP|CWM_RESIZE|CWM_BIGMOVE) },
|
{.i = (CWM_UP|CWM_RESIZE|CWM_BIGMOVE)} },
|
||||||
{ "bigresizedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigresizedown", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_DOWN|CWM_RESIZE|CWM_BIGMOVE) },
|
{.i = (CWM_DOWN|CWM_RESIZE|CWM_BIGMOVE)} },
|
||||||
{ "bigresizeright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigresizeright", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_RIGHT|CWM_RESIZE|CWM_BIGMOVE) },
|
{.i = (CWM_RIGHT|CWM_RESIZE|CWM_BIGMOVE)} },
|
||||||
{ "bigresizeleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
{ "bigresizeleft", kbfunc_moveresize, KBFLAG_NEEDCLIENT,
|
||||||
(void *)(CWM_LEFT|CWM_RESIZE|CWM_BIGMOVE) },
|
{.i = (CWM_LEFT|CWM_RESIZE|CWM_BIGMOVE)} },
|
||||||
{ "ptrmoveup", kbfunc_moveresize, 0, (void *)(CWM_UP|CWM_PTRMOVE) },
|
{ "ptrmoveup", kbfunc_moveresize, 0, {.i = (CWM_UP|CWM_PTRMOVE)} },
|
||||||
{ "ptrmovedown", kbfunc_moveresize, 0, (void *)(CWM_DOWN|CWM_PTRMOVE) },
|
{ "ptrmovedown", kbfunc_moveresize, 0, {.i = (CWM_DOWN|CWM_PTRMOVE)} },
|
||||||
{ "ptrmoveleft", kbfunc_moveresize, 0, (void *)(CWM_LEFT|CWM_PTRMOVE) },
|
{ "ptrmoveleft", kbfunc_moveresize, 0, {.i = (CWM_LEFT|CWM_PTRMOVE)} },
|
||||||
{ "ptrmoveright", kbfunc_moveresize, 0,
|
{ "ptrmoveright", kbfunc_moveresize, 0,
|
||||||
(void *)(CWM_RIGHT|CWM_PTRMOVE) },
|
{.i = (CWM_RIGHT|CWM_PTRMOVE)} },
|
||||||
{ "bigptrmoveup", kbfunc_moveresize, 0,
|
{ "bigptrmoveup", kbfunc_moveresize, 0,
|
||||||
(void *)(CWM_UP|CWM_PTRMOVE|CWM_BIGMOVE) },
|
{.i = (CWM_UP|CWM_PTRMOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigptrmovedown", kbfunc_moveresize, 0,
|
{ "bigptrmovedown", kbfunc_moveresize, 0,
|
||||||
(void *)(CWM_DOWN|CWM_PTRMOVE|CWM_BIGMOVE) },
|
{.i = (CWM_DOWN|CWM_PTRMOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigptrmoveleft", kbfunc_moveresize, 0,
|
{ "bigptrmoveleft", kbfunc_moveresize, 0,
|
||||||
(void *)(CWM_LEFT|CWM_PTRMOVE|CWM_BIGMOVE) },
|
{.i = (CWM_LEFT|CWM_PTRMOVE|CWM_BIGMOVE)} },
|
||||||
{ "bigptrmoveright", kbfunc_moveresize, 0,
|
{ "bigptrmoveright", kbfunc_moveresize, 0,
|
||||||
(void *)(CWM_RIGHT|CWM_PTRMOVE|CWM_BIGMOVE) },
|
{.i = (CWM_RIGHT|CWM_PTRMOVE|CWM_BIGMOVE)} },
|
||||||
{ NULL, NULL, 0, 0},
|
{ NULL, NULL, 0, {0}},
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -388,7 +388,7 @@ conf_bindname(struct conf *c, char *name, char *binding)
|
|||||||
}
|
}
|
||||||
|
|
||||||
current_binding->callback = kbfunc_cmdexec;
|
current_binding->callback = kbfunc_cmdexec;
|
||||||
current_binding->argument = xstrdup(binding);
|
current_binding->argument.c = xstrdup(binding);
|
||||||
current_binding->flags = 0;
|
current_binding->flags = 0;
|
||||||
conf_grab(c, current_binding);
|
conf_grab(c, current_binding);
|
||||||
TAILQ_INSERT_TAIL(&c->keybindingq, current_binding, entry);
|
TAILQ_INSERT_TAIL(&c->keybindingq, current_binding, entry);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $Id: kbfunc.c,v 1.33 2009/01/16 15:24:14 okan Exp $
|
* $Id: kbfunc.c,v 1.34 2009/01/23 18:58:40 oga Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <paths.h>
|
#include <paths.h>
|
||||||
@ -30,13 +30,13 @@
|
|||||||
extern int _xev_quit;
|
extern int _xev_quit;
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_lower(struct client_ctx *cc, void *arg)
|
kbfunc_client_lower(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_lower(cc);
|
client_lower(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_raise(struct client_ctx *cc, void *arg)
|
kbfunc_client_raise(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_raise(cc);
|
client_raise(cc);
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ kbfunc_client_raise(struct client_ctx *cc, void *arg)
|
|||||||
#define typemask (CWM_MOVE | CWM_RESIZE | CWM_PTRMOVE)
|
#define typemask (CWM_MOVE | CWM_RESIZE | CWM_PTRMOVE)
|
||||||
#define movemask (CWM_UP | CWM_DOWN | CWM_LEFT | CWM_RIGHT)
|
#define movemask (CWM_UP | CWM_DOWN | CWM_LEFT | CWM_RIGHT)
|
||||||
void
|
void
|
||||||
kbfunc_moveresize(struct client_ctx *cc, void *arg)
|
kbfunc_moveresize(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
struct screen_ctx *sc;
|
struct screen_ctx *sc;
|
||||||
int x, y, flags, amt;
|
int x, y, flags, amt;
|
||||||
@ -53,7 +53,7 @@ kbfunc_moveresize(struct client_ctx *cc, void *arg)
|
|||||||
sc = screen_current();
|
sc = screen_current();
|
||||||
mx = my = 0;
|
mx = my = 0;
|
||||||
|
|
||||||
flags = (int)arg;
|
flags = arg->i;
|
||||||
amt = MOVE_AMOUNT;
|
amt = MOVE_AMOUNT;
|
||||||
|
|
||||||
if (flags & CWM_BIGMOVE) {
|
if (flags & CWM_BIGMOVE) {
|
||||||
@ -125,7 +125,7 @@ kbfunc_moveresize(struct client_ctx *cc, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_search(struct client_ctx *scratch, void *arg)
|
kbfunc_client_search(struct client_ctx *scratch, union arg *arg)
|
||||||
{
|
{
|
||||||
struct client_ctx *cc, *old_cc;
|
struct client_ctx *cc, *old_cc;
|
||||||
struct menu *mi;
|
struct menu *mi;
|
||||||
@ -160,7 +160,7 @@ kbfunc_client_search(struct client_ctx *scratch, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_menu_search(struct client_ctx *scratch, void *arg)
|
kbfunc_menu_search(struct client_ctx *scratch, union arg *arg)
|
||||||
{
|
{
|
||||||
struct cmd *cmd;
|
struct cmd *cmd;
|
||||||
struct menu *mi;
|
struct menu *mi;
|
||||||
@ -186,7 +186,7 @@ kbfunc_menu_search(struct client_ctx *scratch, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_cycle(struct client_ctx *scratch, void *arg)
|
kbfunc_client_cycle(struct client_ctx *scratch, union arg *arg)
|
||||||
{
|
{
|
||||||
struct screen_ctx *sc;
|
struct screen_ctx *sc;
|
||||||
|
|
||||||
@ -196,35 +196,35 @@ kbfunc_client_cycle(struct client_ctx *scratch, void *arg)
|
|||||||
XGrabKeyboard(X_Dpy, sc->rootwin, True,
|
XGrabKeyboard(X_Dpy, sc->rootwin, True,
|
||||||
GrabModeAsync, GrabModeAsync, CurrentTime);
|
GrabModeAsync, GrabModeAsync, CurrentTime);
|
||||||
|
|
||||||
client_cycle((int)arg);
|
client_cycle(arg->i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_hide(struct client_ctx *cc, void *arg)
|
kbfunc_client_hide(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_hide(cc);
|
client_hide(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_cmdexec(struct client_ctx *cc, void *arg)
|
kbfunc_cmdexec(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
u_spawn((char *)arg);
|
u_spawn(arg->c);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_term(struct client_ctx *cc, void *arg)
|
kbfunc_term(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
u_spawn(Conf.termpath);
|
u_spawn(Conf.termpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_lock(struct client_ctx *cc, void *arg)
|
kbfunc_lock(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
u_spawn(Conf.lockpath);
|
u_spawn(Conf.lockpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_exec(struct client_ctx *scratch, void *arg)
|
kbfunc_exec(struct client_ctx *scratch, union arg *arg)
|
||||||
{
|
{
|
||||||
#define NPATHS 256
|
#define NPATHS 256
|
||||||
char **ap, *paths[NPATHS], *path, *pathcpy, *label;
|
char **ap, *paths[NPATHS], *path, *pathcpy, *label;
|
||||||
@ -238,7 +238,7 @@ kbfunc_exec(struct client_ctx *scratch, void *arg)
|
|||||||
struct menu_q menuq;
|
struct menu_q menuq;
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
|
|
||||||
int cmd = (int)arg;
|
int cmd = arg->i;
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case CWM_EXEC_PROGRAM:
|
case CWM_EXEC_PROGRAM:
|
||||||
label = "exec";
|
label = "exec";
|
||||||
@ -338,7 +338,7 @@ kbfunc_exec(struct client_ctx *scratch, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_ssh(struct client_ctx *scratch, void *arg)
|
kbfunc_ssh(struct client_ctx *scratch, union arg *arg)
|
||||||
{
|
{
|
||||||
struct menu *mi;
|
struct menu *mi;
|
||||||
struct menu_q menuq;
|
struct menu_q menuq;
|
||||||
@ -405,7 +405,7 @@ kbfunc_ssh(struct client_ctx *scratch, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_label(struct client_ctx *cc, void *arg)
|
kbfunc_client_label(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
struct menu *mi;
|
struct menu *mi;
|
||||||
struct menu_q menuq;
|
struct menu_q menuq;
|
||||||
@ -428,31 +428,31 @@ kbfunc_client_label(struct client_ctx *cc, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_delete(struct client_ctx *cc, void *arg)
|
kbfunc_client_delete(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_send_delete(cc);
|
client_send_delete(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_group(struct client_ctx *cc, void *arg)
|
kbfunc_client_group(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
group_hidetoggle(KBTOGROUP((int)arg));
|
group_hidetoggle(KBTOGROUP(arg->i));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_cyclegroup(struct client_ctx *cc, void *arg)
|
kbfunc_client_cyclegroup(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
group_cycle((int)arg);
|
group_cycle(arg->i);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_nogroup(struct client_ctx *cc, void *arg)
|
kbfunc_client_nogroup(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
group_alltoggle();
|
group_alltoggle();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_grouptoggle(struct client_ctx *cc, void *arg)
|
kbfunc_client_grouptoggle(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
/* XXX for stupid X apps like xpdf and gvim */
|
/* XXX for stupid X apps like xpdf and gvim */
|
||||||
XGrabKeyboard(X_Dpy, cc->win, True,
|
XGrabKeyboard(X_Dpy, cc->win, True,
|
||||||
@ -462,25 +462,25 @@ kbfunc_client_grouptoggle(struct client_ctx *cc, void *arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_maximize(struct client_ctx *cc, void *arg)
|
kbfunc_client_maximize(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_maximize(cc);
|
client_maximize(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_client_vmaximize(struct client_ctx *cc, void *arg)
|
kbfunc_client_vmaximize(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
client_vertmaximize(cc);
|
client_vertmaximize(cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_quit_wm(struct client_ctx *cc, void *arg)
|
kbfunc_quit_wm(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
_xev_quit = 1;
|
_xev_quit = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
kbfunc_reload(struct client_ctx *cc, void *arg)
|
kbfunc_reload(struct client_ctx *cc, union arg *arg)
|
||||||
{
|
{
|
||||||
conf_reload(&Conf);
|
conf_reload(&Conf);
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
*
|
*
|
||||||
* $Id: xevents.c,v 1.37 2009/01/22 19:01:56 okan Exp $
|
* $Id: xevents.c,v 1.38 2009/01/23 18:58:40 oga Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -294,7 +294,7 @@ xev_handle_keypress(struct xevent *xev, XEvent *ee)
|
|||||||
if (kb->flags & KBFLAG_NEEDCLIENT)
|
if (kb->flags & KBFLAG_NEEDCLIENT)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
(*kb->callback)(cc, kb->argument);
|
(*kb->callback)(cc, &kb->argument);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
xev_register(xev);
|
xev_register(xev);
|
||||||
|
Loading…
Reference in New Issue
Block a user