event.c
changeset 84 052fe7498930
parent 80 8125f908c80c
child 93 c498da7520c7
equal deleted inserted replaced
83:ca809fdd30ea 84:052fe7498930
     9 #include <X11/Xatom.h>
     9 #include <X11/Xatom.h>
    10 
    10 
    11 #define ButtonMask      (ButtonPressMask | ButtonReleaseMask)
    11 #define ButtonMask      (ButtonPressMask | ButtonReleaseMask)
    12 #define MouseMask       (ButtonMask | PointerMotionMask)
    12 #define MouseMask       (ButtonMask | PointerMotionMask)
    13 
    13 
    14 /********** CUSTOMIZE **********/
    14 /* CUSTOMIZE */
    15 
    15 const char *browse[] = { "firefox", NULL };
       
    16 const char *gimp[] = { "gimp", NULL };
    16 const char *term[] = { 
    17 const char *term[] = { 
    17 	"urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
    18 	"urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
    18 	"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL
    19 	"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL
    19 };
    20 };
    20 const char *browse[] = { "firefox", NULL };
       
    21 const char *xlock[] = { "xlock", NULL };
    21 const char *xlock[] = { "xlock", NULL };
    22 
    22 
    23 Key key[] = {
    23 Key key[] = {
    24 	/* modifier				key			function	arguments */
    24 	/* modifier				key			function	arguments */
    25 	{ Mod1Mask,				XK_Return,	zoom,		{ 0 } },
    25 	{ ControlMask,			XK_0,		appendtag,	{ .i = Tscratch } }, 
    26 	{ Mod1Mask,				XK_k,		focusprev,		{ 0 } },
    26 	{ ControlMask,			XK_1,		appendtag,	{ .i = Tdev } }, 
    27 	{ Mod1Mask,				XK_j,		focusnext,		{ 0 } }, 
    27 	{ ControlMask,			XK_2,		appendtag,	{ .i = Twww } }, 
    28 	{ Mod1Mask,				XK_m,		maximize,		{ 0 } }, 
    28 	{ ControlMask,			XK_3,		appendtag,	{ .i = Twork } }, 
    29 	{ Mod1Mask,				XK_0,		view,		{ .i = Tscratch } }, 
    29 	{ Mod1Mask,				XK_0,		view,		{ .i = Tscratch } }, 
    30 	{ Mod1Mask,				XK_1,		view,		{ .i = Tdev } }, 
    30 	{ Mod1Mask,				XK_1,		view,		{ .i = Tdev } }, 
    31 	{ Mod1Mask,				XK_2,		view,		{ .i = Twww } }, 
    31 	{ Mod1Mask,				XK_2,		view,		{ .i = Twww } }, 
    32 	{ Mod1Mask,				XK_3,		view,		{ .i = Twork } }, 
    32 	{ Mod1Mask,				XK_3,		view,		{ .i = Twork } }, 
       
    33 	{ Mod1Mask,				XK_j,		focusnext,		{ 0 } }, 
       
    34 	{ Mod1Mask,				XK_k,		focusprev,		{ 0 } },
       
    35 	{ Mod1Mask,				XK_m,		maximize,		{ 0 } }, 
    33 	{ Mod1Mask,				XK_space,	dotile,		{ 0 } }, 
    36 	{ Mod1Mask,				XK_space,	dotile,		{ 0 } }, 
    34 	{ Mod1Mask|ShiftMask,	XK_space,	dofloat,	{ 0 } }, 
    37 	{ Mod1Mask,				XK_Return,	zoom,		{ 0 } },
    35 	{ Mod1Mask|ShiftMask,	XK_0,		replacetag,		{ .i = Tscratch } }, 
    38 	{ Mod1Mask|ShiftMask,	XK_0,		replacetag,		{ .i = Tscratch } }, 
    36 	{ Mod1Mask|ShiftMask,	XK_1,		replacetag,		{ .i = Tdev } }, 
    39 	{ Mod1Mask|ShiftMask,	XK_1,		replacetag,		{ .i = Tdev } }, 
    37 	{ Mod1Mask|ShiftMask,	XK_2,		replacetag,		{ .i = Twww } }, 
    40 	{ Mod1Mask|ShiftMask,	XK_2,		replacetag,		{ .i = Twww } }, 
    38 	{ Mod1Mask|ShiftMask,	XK_3,		replacetag,		{ .i = Twork } }, 
    41 	{ Mod1Mask|ShiftMask,	XK_3,		replacetag,		{ .i = Twork } }, 
    39 	{ Mod1Mask|ShiftMask,	XK_c,		killclient,		{ 0 } }, 
    42 	{ Mod1Mask|ShiftMask,	XK_c,		killclient,		{ 0 } }, 
       
    43 	{ Mod1Mask|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } },
       
    44 	{ Mod1Mask|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } },
    40 	{ Mod1Mask|ShiftMask,	XK_q,		quit,		{ 0 } },
    45 	{ Mod1Mask|ShiftMask,	XK_q,		quit,		{ 0 } },
       
    46 	{ Mod1Mask|ShiftMask,	XK_space,	dofloat,	{ 0 } }, 
       
    47 	{ Mod1Mask|ShiftMask,	XK_w,		spawn,		{ .argv = browse } },
    41 	{ Mod1Mask|ShiftMask,	XK_Return,	spawn,		{ .argv = term } },
    48 	{ Mod1Mask|ShiftMask,	XK_Return,	spawn,		{ .argv = term } },
    42 	{ Mod1Mask|ShiftMask,	XK_w,		spawn,		{ .argv = browse } },
       
    43 	{ Mod1Mask|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } },
       
    44 	{ ControlMask,			XK_0,		appendtag,	{ .i = Tscratch } }, 
       
    45 	{ ControlMask,			XK_1,		appendtag,	{ .i = Tdev } }, 
       
    46 	{ ControlMask,			XK_2,		appendtag,	{ .i = Twww } }, 
       
    47 	{ ControlMask,			XK_3,		appendtag,	{ .i = Twork } }, 
       
    48 };
    49 };
    49 
    50 
    50 /********** CUSTOMIZE **********/
    51 /* static */
    51 
       
    52 /* static functions */
       
    53 
    52 
    54 static void
    53 static void
    55 movemouse(Client *c)
    54 movemouse(Client *c)
    56 {
    55 {
    57 	XEvent ev;
    56 	XEvent ev;
   335 
   334 
   336 	if((c = getclient(ev->window)))
   335 	if((c = getclient(ev->window)))
   337 		unmanage(c);
   336 		unmanage(c);
   338 }
   337 }
   339 
   338 
   340 /* extern functions */
   339 /* extern */
   341 
   340 
   342 void (*handler[LASTEvent]) (XEvent *) = {
   341 void (*handler[LASTEvent]) (XEvent *) = {
   343 	[ButtonPress] = buttonpress,
   342 	[ButtonPress] = buttonpress,
   344 	[ConfigureRequest] = configurerequest,
   343 	[ConfigureRequest] = configurerequest,
   345 	[DestroyNotify] = destroynotify,
   344 	[DestroyNotify] = destroynotify,