diff --git a/static/js/components/app-main/index.js b/static/js/components/app-main/index.js index 238cb67..8785dd2 100644 --- a/static/js/components/app-main/index.js +++ b/static/js/components/app-main/index.js @@ -49,11 +49,13 @@ function scroll(xterm, parent){ // uuid var uuid = 0; +// buffers automatically when created +var snd = new Audio('bell.wav'); + /** * openXTerm * @param vm */ - function openXTerm(vm){ var project = vm.project; var runtime = AppRuntime[project.name]; @@ -62,7 +64,9 @@ function openXTerm(vm){ var worker = new SharedWorker('static/js/components/app-main/terminal-worker.js', 'SharedWorker-' + (uuid++)); worker.port.addEventListener('message', function (event){ - if (vm.project.name === event.data.name) { + if (event.data.exec === 'beep') { + snd.play(); + } else if (vm.project.name === event.data.name) { vm.$els.terminal.innerHTML = event.data.screen; } }); diff --git a/static/js/components/app-main/terminal-worker.js b/static/js/components/app-main/terminal-worker.js index 458cbb5..0c7007f 100644 --- a/static/js/components/app-main/terminal-worker.js +++ b/static/js/components/app-main/terminal-worker.js @@ -28,6 +28,12 @@ onconnect = function (event){ if (!xterm) { xterm = new AnsiTerminal(120, 60, 0); xterm.newline_mode = true; + xterm.beep = function (){ + port.postMessage({ + exec: 'beep', + name: message.name + }); + }; } send(message.name, xterm);