annotate cmd.c @ 23:95ffdfd0a819

some more additions/fixes
author Anselm R. Garbe <garbeam@wmii.de>
date Wed, 12 Jul 2006 00:00:25 +0200
parents 5c078b66347b
children e8f627998d6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
1 /*
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
3 * See LICENSE file for license details.
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
4 */
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
5
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
6 #include "wm.h"
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
7 #include <stdio.h>
14
5c078b66347b added bar event timer
Anselm R. Garbe <garbeam@wmii.de>
parents: 13
diff changeset
8 #include <string.h>
12
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
9
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
10 void
14
5c078b66347b added bar event timer
Anselm R. Garbe <garbeam@wmii.de>
parents: 13
diff changeset
11 run(void *aux)
12
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
12 {
14
5c078b66347b added bar event timer
Anselm R. Garbe <garbeam@wmii.de>
parents: 13
diff changeset
13 spawn(dpy, aux);
12
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
14 }
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
15
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
16 void
14
5c078b66347b added bar event timer
Anselm R. Garbe <garbeam@wmii.de>
parents: 13
diff changeset
17 quit(void *aux)
12
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
18 {
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
19 running = False;
a2b399582afe new stuff
Anselm R. Garbe <garbeam@wmii.de>
parents:
diff changeset
20 }
13
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
21
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
22 void
23
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
23 sel(void *aux)
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
24 {
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
25 const char *arg = aux;
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
26 Client *c;
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
27
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
28 if(!arg || !stack)
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
29 return;
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
30 if(!strncmp(arg, "next", 5))
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
31 focus(stack->snext ? stack->snext : stack);
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
32 else if(!strncmp(arg, "prev", 5)) {
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
33 for(c = stack; c && c->snext; c = c->snext);
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
34 focus(c ? c : stack);
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
35 }
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
36 }
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
37
95ffdfd0a819 some more additions/fixes
Anselm R. Garbe <garbeam@wmii.de>
parents: 14
diff changeset
38 void
14
5c078b66347b added bar event timer
Anselm R. Garbe <garbeam@wmii.de>
parents: 13
diff changeset
39 kill(void *aux)
13
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
40 {
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
41 Client *c = stack;
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
42
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
43 if(!c)
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
44 return;
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
45 if(c->proto & WM_PROTOCOL_DELWIN)
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
46 send_message(c->win, wm_atom[WMProtocols], wm_atom[WMDelete]);
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
47 else
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
48 XKillClient(dpy, c->win);
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
49 }
5cc5e55a132d added protocol killing stuff
Anselm R. Garbe <garbeam@wmii.de>
parents: 12
diff changeset
50