-
Notifications
You must be signed in to change notification settings - Fork 7
/
index.html
104 lines (95 loc) · 2.68 KB
/
index.html
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
94
95
96
97
98
99
100
101
102
103
104
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
body {
background: #888;
color: #EEE;
font-family: Avenir, sans-serif;
}
a {
color: #EEE;
}
canvas {
background: #000;
border-radius: 10px;
cursor: none;
}
pre {
color: #333;
display: none;
}
</style>
<script src="St78/Smalltalk78.js"></script>
<title>ThingLab</title>
</head>
<body>
<a href="http://cdglabs.org/" target="_blank"><img src="cdg-logo.svg" width="75" height="75" align="right"></a>
<h1>ThingLab</h1>
<canvas id="canvas" width="1024" height="768"></canvas>
<p>This is Alan Borning's “ThingLab” running on the <a href="http://lively-web.org/users/bert/Smalltalk-78.html" target="_blank">Smalltalk-78 VM</a> by Bert Freudenberg and Dan Ingalls.</p>
<button id="helpbutton">Help</button>
<pre id="help">
<b>Mouse</b>
Left-click: select ("red button")
Right-click: context menu ("yellow button")
Ctrl-click/middle-click: window menu ("blue button")
<b>Keyboard</b>
⌾: @ (make point)
←: _ (assignment)
⇑: ^ (return)
ⓢ: ` (backtick, 's operator)
↑: Ctrl-^ (Ctrl-6) ^^
¬: Ctrl-- (Ctrl-minus, unary minus, ¬1 instead of -1)
◢: Ctrl-] (Doit)
◦: Ctrl-A (<b>A</b>t) ..
▹: Ctrl-C (open <b>C</b>olon) ::
∢: Ctrl-E (<b>E</b>ye) <)
⇒: Ctrl-F (i<b>F</b>) =>
≥: Ctrl-G (<b>G</b>reater or equal) >=
Ctrl-H (backspace)
Ctrl-I (tab)
≤: Ctrl-L (<b>L</b>ess or equal) <=
≠: Ctrl-N (<b>N</b>ot equal) !=
↪: Ctrl-U (<b>U</b>nique string, symbol) #
ⓢ: Ctrl-S ('s operator, eval in object)
≡: Ctrl-T (<b>T</b>riple equal, identity) ==
➲: Ctrl-V (in<b>V</b>erse arrow)
◻: Ctrl-Q (s<b>Q</b>uare)
▱: Ctrl-X (wiggly line)
#: ## (because # is ↪)
◣: (no keyboard binding)
Cmd-C/Alt-C: copy text
Cmd-V/Alt-V: paste text
Cmd-B/Alt-B: bold
Cmd-I/Alt-I: italic
Cmd-U/Alt-U: underline
Cmd-X/Alt-X: reset emphasis
Cmd-0...9, +/-: change font
Cmd-D doit
Cmd-P printit
Cmd-S compile
Cmd-J again
Cmd-A select all
Cmd-L cancel
Cmd-Z undo
Cmd-. interrupt
Tab/Shift-Tab indent/outdent selection
Ctrl-] do it in eval (Dispframe in the topleft corner)
Ctrl-d done with eval
</pre>
<script>
module("ThingLab").requires("Smalltalk78").toRun(function() {
Smalltalk78.run("thinglab.st78", canvas);
});
helpbutton.onclick = function() {
if (help.style.display) {
help.style.display = '';
} else {
help.style.display = 'block';
}
}
</script>
</body>
</html>