script.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. function toggleFullScreen(elem) {
  2. // ## The below if statement seems to work better ## if ((document.fullScreenElement && document.fullScreenElement !== null) || (document.msfullscreenElement && document.msfullscreenElement !== null) || (!document.mozFullScreen && !document.webkitIsFullScreen)) {
  3. if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) {
  4. if (elem.requestFullScreen) {
  5. elem.requestFullScreen();
  6. } else if (elem.mozRequestFullScreen) {
  7. elem.mozRequestFullScreen();
  8. } else if (elem.webkitRequestFullScreen) {
  9. elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
  10. } else if (elem.msRequestFullscreen) {
  11. elem.msRequestFullscreen();
  12. }
  13. return "on";
  14. } else {
  15. if (document.cancelFullScreen) {
  16. document.cancelFullScreen();
  17. } else if (document.mozCancelFullScreen) {
  18. document.mozCancelFullScreen();
  19. } else if (document.webkitCancelFullScreen) {
  20. document.webkitCancelFullScreen();
  21. } else if (document.msExitFullscreen) {
  22. document.msExitFullscreen();
  23. }
  24. return 'off';
  25. }
  26. }
  27. function cmd() {
  28. const shell = new Cmd({
  29. selector: '#cmd',
  30. busy_text: 'Traitement...',
  31. unknown_cmd: 'Commande non reconnue, tapez help pour avoir la liste des commandes disponibles',
  32. external_processor: processor
  33. });
  34. shell.setPrompt("[chell@glad.os] ➜ ");
  35. }
  36. function processor(input, cmd) {
  37. input = input.toLowerCase().replaceAll('é', 'e').replaceAll('è', 'e').replaceAll('à', 'a');
  38. switch (input) {
  39. case "fullscreen":
  40. let res = toggleFullScreen(document.getElementById('cmd'));
  41. return "Fullscreen " + res;
  42. case "ping":
  43. return "pong";
  44. case "ifconfig":
  45. break;
  46. case "rate":
  47. new Promise((resolve, reject) => {
  48. var audio = new Audio('./success.mp3');
  49. audio.play();
  50. });
  51. return '<div class="ascii">' + $('#lock').html() + '</div><br/>Ouverture !';
  52. default:
  53. // Commande inconnue
  54. return false;
  55. }
  56. }