about summary refs log tree commit diff stats
path: root/config.h
blob: 9dec0692d5093ef226581a8c37754224af9867a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/* See LICENSE file for copyright and license details. */

/* appearance */
#define BARPOS			BarTop /* BarBot, BarOff */
#define BORDERPX		1
#define FONT			"-*-terminus-medium-r-*-*-12-*-*-*-*-*-iso10646-*"
#define NORMBORDERCOLOR		"#333"
#define NORMBGCOLOR		"#000"
#define NORMFGCOLOR		"#ccc"
#define SELBORDERCOLOR		"#f00"
#define SELBGCOLOR		"#00f"
#define SELFGCOLOR		"#fff"

/* tagging */
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", NULL };
static Rule rules[] = {
	/* class:instance:title regex	tags regex	isfloating */
	{ "Firefox",			"3",		False },
	{ "Gimp",			NULL,		True },
	{ "MPlayer",			NULL,		True },
	{ "Acroread",			NULL,		True },
};

/* layout(s) */
static Layout layouts[] = {
	/* symbol		function */
	{ "[]=",		tile }, /* first entry is default */
	{ "><>",		floating },
};
#define RESIZEHINTS		True	/* False - respect size hints in tiled resizals */
#define MWFACT			0.6	/* master width factor [0.1 .. 0.9] */
#define SNAP			32	/* snap pixel */

/* key definitions */
#define MODKEY			Mod1Mask
#define KEYS \
Key keys[] = { \
	/* modifier			key		function	argument */ \
	{ MODKEY,			XK_p,		spawn, \
		"exe=`dmenu_path | dmenu -fn '"FONT"' -nb '"NORMBGCOLOR"' -nf '"NORMFGCOLOR"'" \
		" -sb '"SELBGCOLOR"' -sf '"SELFGCOLOR"'` && exec $exe" }, \
	{ MODKEY|ShiftMask,		XK_Return,	spawn, \
		"exec xterm -bg '"NORMBGCOLOR"' -fg '"NORMFGCOLOR"' -cr '"NORMFGCOLOR"' +sb -fn '"FONT"'" }, \
	{ MODKEY,			XK_space,	setlayout,	NULL }, \
	{ MODKEY,			XK_b,		togglebar,	NULL }, \
	{ MODKEY,			XK_j,		focusnext,	NULL }, \
	{ MODKEY,			XK_k,		focusprev,	NULL }, \
	{ MODKEY,			XK_h,		setmwfact,	"-0.05" }, \
	{ MODKEY,			XK_l,		setmwfact,	"+0.05" }, \
	{ MODKEY,			XK_m,		togglemax,	NULL }, \
	{ MODKEY,			XK_Return,	zoom,		NULL }, \
	{ MODKEY|ShiftMask,		XK_space,	togglefloating,	NULL }, \
	{ MODKEY|ShiftMask,		XK_c,		killclient,	NULL }, \
	{ MODKEY,			XK_0,		view,		NULL }, \
	{ MODKEY,			XK_1,		view,		tags[0] }, \
	{ MODKEY,			XK_2,		view,		tags[1] }, \
	{ MODKEY,			XK_3,		view,		tags[2] }, \
	{ MODKEY,			XK_4,		view,		tags[3] }, \
	{ MODKEY,			XK_5,		view,		tags[4] }, \
	{ MODKEY,			XK_6,		view,		tags[5] }, \
	{ MODKEY,			XK_7,		view,		tags[6] }, \
	{ MODKEY,			XK_8,		view,		tags[7] }, \
	{ MODKEY,			XK_9,		view,		tags[8] }, \
	{ MODKEY|ControlMask,		XK_1,		toggleview,	tags[0] }, \
	{ MODKEY|ControlMask,		XK_2,		toggleview,	tags[1] }, \
	{ MODKEY|ControlMask,		XK_3,		toggleview,	tags[2] }, \
	{ MODKEY|ControlMask,		XK_4,		toggleview,	tags[3] }, \
	{ MODKEY|ControlMask,		XK_5,		toggleview,	tags[4] }, \
	{ MODKEY|ControlMask,		XK_6,		toggleview,	tags[5] }, \
	{ MODKEY|ControlMask,		XK_7,		toggleview,	tags[6] }, \
	{ MODKEY|ControlMask,		XK_8,		toggleview,	tags[7] }, \
	{ MODKEY|ControlMask,		XK_9,		toggleview,	tags[8] }, \
	{ MODKEY|ShiftMask,		XK_0,		tag,		NULL }, \
	{ MODKEY|ShiftMask,		XK_1,		tag,		tags[0] }, \
	{ MODKEY|ShiftMask,		XK_2,		tag,		tags[1] }, \
	{ MODKEY|ShiftMask,		XK_3,		tag,		tags[2] }, \
	{ MODKEY|ShiftMask,		XK_4,		tag,		tags[3] }, \
	{ MODKEY|ShiftMask,		XK_5,		tag,		tags[4] }, \
	{ MODKEY|ShiftMask,		XK_6,		tag,		tags[5] }, \
	{ MODKEY|ShiftMask,		XK_7,		tag,		tags[6] }, \
	{ MODKEY|ShiftMask,		XK_8,		tag,		tags[7] }, \
	{ MODKEY|ShiftMask,		XK_9,		tag,		tags[8] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	tags[0] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	tags[1] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	tags[2] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	tags[3] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_5,		toggletag,	tags[4] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_6,		toggletag,	tags[5] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_7,		toggletag,	tags[6] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_8,		toggletag,	tags[7] }, \
	{ MODKEY|ControlMask|ShiftMask,	XK_9,		toggletag,	tags[8] }, \
	{ MODKEY|ShiftMask,		XK_q,		quit,		NULL }, \
};
>A> (a talk at the 1995 EuroLogo conference in Birmingham). A recent development at the MIT Logo lab has been Mitch Resnick's program StarLogo, a version featuring extreme parallelism (thousands of turtles). Results from this very good technical work have been used as the basis for what I consider dubious analogies, in Resnick's own book and in Seymour Papert's latest book, that purport to prove the joys of "free"-market capitalism. Here I debunk those analogies. <LI><A HREF="obsolete.html">"Is Programming Obsolete?"</A> (A talk I've given at a few conferences in 1994.) No, it isn't, even though there's slick "courseware" available these days. <LI><A HREF="multi.html">"Against Multimedia"</A> (Computer Professionals for Social Responsibility newsletter, 1994), in which I explain why it's all a bad idea. <LI><A HREF="elogo.html">"Symbolic Programming vs. Software Engineering--Fun vs. Professionalism--Are These the Same Question?"</A> (a talk at the 1993 EuroLogo conference in Athens). Sorry about the long title; they asked me for a title before I'd decided what to talk about! It turned out to be about the word "Logo-like" that people use these days to describe an enormous range of educational environments. I consider what makes Logo Logo, and some of the different ways in which things can be like or unlike that. <LI><A HREF="gary.html">"The Role of Logo in Secondary and Post-Secondary Computer Science"</A> (a talk at the 1993 International Logo Conference in Melbourne). What language should we use to teach computer science? I compare Logo with its competitors: Scheme, Pascal, and visual languages such as Visual Basic and (in a different way) Hypertalk. <LI><A HREF="noss.ps">"Avoiding Recursion"</A> (in <CITE>Learning Mathematics and Logo</CITE>, Celia Hoyles and Richard Noss, editors, MIT Press, 1992). Functional languages such as Logo and Scheme generally use recursion as the main control mechanism, rather than iterative constructs such as <CODE>while</CODE> and <CODE>for</CODE>. Many beginning programmers find the idea of recursion difficult, and that gives these languages a bad reputation. Here I suggest that the use of higher-order procedures can allow a wide range of interesting programs to be written before the learner must confront the challenge of recursion. <LI><A HREF="ifsnecc.ps">"Beyond Programming: A Two-Summer Computer Science Institute for Secondary Teachers"</A> (a talk at the 1992 National Educational Computing Conference in Dallas). From 1989 to 1992 I taught high school teachers Logo and computer science in a summer program at Kent State University. The program was heavy on experiential learning; the talk describes some of the technical and pedagogic issues that arose. <LI><A HREF="bridge.html">"Symbolic Programming vs. the AP Curriculum"</A> (in <CITE>The Computing Teacher</CITE>, 1991). I argue that learning to program should be fun, not primarily focused on avoiding errors; that can come later. <LI><A HREF="four.html">"Abstracts for Four Papers I'm Gonna Write Someday"</A>. The 1989 national convention of Computer Professionals for Social Responsibility came just after the famous Internet worm that disabled all the computers in the world for a day or so. There was a lot of discussion about it, as you might imagine. I thought that a lot of people's ideas about moral education were naive, and this is a collection of musings that I wrote for CPSR members. <LI><A HREF="hackers.html">"Computer Hacking and Ethics"</A>, a position paper I brought to an ACM `Select Panel on Hacking' in 1985. I argue that moral development is different from locking the door and throwing away the key. This paper has two appendices: <UL> <LI><A HREF="hacker.html">What is a Hacker?</A> The word was a compliment until <CITE>Newsweek</CITE> took it over. <LI><A HREF="lsrhs.html">A Case Study</A> A description of the computer lab I set up at the Lincoln-Sudbury Regional High School. </UL> <LI><A HREF="stop.html">"Stop Saying `Computer Literacy'!"</A>, a (badly edited) version of which was published in <CITE>Classroom Computer News</CITE> in 1983. During the first wave of hysteria to get computers into schools and homes, I argued that that wasn't going to make everyone rich. And phrases like "computer literacy" and "media literacy" and so on weaken the original, important meaning of the word "literacy." <LI><A HREF="freedom.html">"Using Computers for Educational Freedom"</A>, a talk I gave at Lesley College in 1980. It's about the philosophy behind the way I set up my high school computer lab: giving kids keys to the room and root access and stuff. </UL> <P><ADDRESS> <A HREF="index.html"><CODE>www.cs.berkeley.edu/~bh</CODE></A> </ADDRESS> </BODY> </HTML>