Mercurial > hg > rlgwebd
comparison shterm.js @ 9:826a7ced69f8
Make the emulator screen resizable.
author | John "Elwin" Edwards <elwin@sdf.org> |
---|---|
date | Wed, 09 May 2012 13:38:05 -0700 |
parents | d1b3c3af34d6 |
children | d051aad3e95f |
comparison
equal
deleted
inserted
replaced
8:ad0a31e52007 | 9:826a7ced69f8 |
---|---|
268 return; | 268 return; |
269 } | 269 } |
270 | 270 |
271 function setup() { | 271 function setup() { |
272 keyHexCodes.init(); | 272 keyHexCodes.init(); |
273 termemu.init("termwrap", 25, 80); | 273 termemu.init("termwrap", 24, 80); |
274 setTitle("Not connected."); | 274 setTitle("Not connected."); |
275 return; | 275 return; |
276 } | 276 } |
277 | 277 |
278 function toggleshift() { | 278 function toggleshift() { |
293 else | 293 else |
294 keydiv.className = "key"; | 294 keydiv.className = "key"; |
295 return; | 295 return; |
296 } | 296 } |
297 | 297 |
298 function login() { | 298 function login(h, w) { |
299 if (termemu.alive) | 299 if (termemu.alive) |
300 return; | 300 return; |
301 var req = new XMLHttpRequest(); | 301 var req = new XMLHttpRequest(); |
302 req.onreadystatechange = function () { | 302 req.onreadystatechange = function () { |
303 if (req.readyState == 4 && req.status == 200) { | 303 if (req.readyState == 4 && req.status == 200) { |
304 var datalines = req.responseText.split("\n"); | 304 var datalines = req.responseText.split("\n"); |
305 if (datalines[0] == 'l1') { | 305 if (datalines[0] == 'l1') { |
306 /* Success */ | 306 /* Success */ |
307 // FIXME extract the size from the response instead of hardcoding | |
308 termemu.resize(25, 80); | |
307 termemu.alive = true; | 309 termemu.alive = true; |
308 setTitle("Logged in"); | 310 setTitle("Logged in"); |
309 debug(1, "Logged in with id " + datalines[1]); | 311 debug(1, "Logged in with id " + datalines[1]); |
310 getData(); | 312 getData(); |
311 return; | 313 return; |
312 } | 314 } |
313 return; | 315 return; |
314 } | 316 } |
315 }; | 317 }; |
316 req.open('POST', '/login', true); | 318 req.open('POST', '/login', true); |
317 req.send("login=login"); | 319 req.send("login=login&h=" + String(h) + "&w=" + String(w)); |
318 return; | 320 return; |
319 } | 321 } |
320 | 322 |
321 function stop() { | 323 function stop() { |
322 var req = new XMLHttpRequest(); | 324 var req = new XMLHttpRequest(); |
386 nsize = csize - 4; | 388 nsize = csize - 4; |
387 else | 389 else |
388 nsize = 48; | 390 nsize = 48; |
389 } | 391 } |
390 document.getElementById("term").style.fontSize = nsize.toString() + "px"; | 392 document.getElementById("term").style.fontSize = nsize.toString() + "px"; |
391 termemu.resize(); | 393 termemu.fixsize(); |
392 debug(1, "Changing font size to " + nsize.toString()); | 394 debug(1, "Changing font size to " + nsize.toString()); |
393 return; | 395 return; |
394 } | 396 } |
395 | 397 |
396 function bell(on) { | 398 function bell(on) { |