diff --git a/buildroot-v86/board/v86/rootfs_overlay/root/bin/codemirror b/buildroot-v86/board/v86/rootfs_overlay/root/bin/codemirror index baa6d76..381118b 100755 --- a/buildroot-v86/board/v86/rootfs_overlay/root/bin/codemirror +++ b/buildroot-v86/board/v86/rootfs_overlay/root/bin/codemirror @@ -1,3 +1,4 @@ #!/bin/sh -cat lib/aframe/codemirror.js > /dev/browser/js -echo '' >> /dev/browser/html +source /etc/profile.sh +require 'com/codemirror.js' # add to dom +echo '' >> /dev/browser/html diff --git a/buildroot-v86/board/v86/rootfs_overlay/root/bin/save b/buildroot-v86/board/v86/rootfs_overlay/root/bin/save new file mode 100755 index 0000000..e27249c --- /dev/null +++ b/buildroot-v86/board/v86/rootfs_overlay/root/bin/save @@ -0,0 +1,4 @@ +#!/bin/js +const isoterminal = document.querySelector('[isoterminal]').components.isoterminal.isoterminal +isoterminal.save() +return "[OK] xrsh state saved\n" diff --git a/buildroot-v86/board/v86/rootfs_overlay/root/bin/speech b/buildroot-v86/board/v86/rootfs_overlay/root/bin/speech new file mode 100755 index 0000000..4714d93 --- /dev/null +++ b/buildroot-v86/board/v86/rootfs_overlay/root/bin/speech @@ -0,0 +1,4 @@ +#!/bin/sh +source /etc/profile.sh +require 'com/speech.js' # add to dom +echo '' >> /dev/browser/html diff --git a/buildroot-v86/board/v86/rootfs_overlay/root/lib/aframe/codemirror.js b/buildroot-v86/board/v86/rootfs_overlay/root/lib/aframe/codemirror.js deleted file mode 100644 index d801b30..0000000 --- a/buildroot-v86/board/v86/rootfs_overlay/root/lib/aframe/codemirror.js +++ /dev/null @@ -1,120 +0,0 @@ -if( AFRAME.components.codemirror ) delete AFRAME.components.codemirror - -AFRAME.registerComponent('codemirror', { - schema: { - foo: { type:"string"} - }, - - init: function () { - this.el.object3D.visible = false - //this.el.innerHTML = ` ` - this.requireAll() - }, - - requireAll: async function(){ - let s = await AFRAME.utils.require(this.requires) - setTimeout( () => this.el.setAttribute("dom",""), 300 ) - }, - - requires:{ - window: "com/window.js", - codemirror: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.1/codemirror.js", - codemirrorcss: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/codemirror.css", - cmtheme: "https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.35.0/theme/shadowfox.css" - }, - - dom: { - scale: 0.5, - events: ['click','keydown'], - html: (me) => `
-
`, - - css: (me) => `.codemirror{ - width:100%; - } - .wb-body + .codemirror{ overflow:hidden; } - .CodeMirror { - margin-top:18px; - } - .cm-s-shadowfox.CodeMirror { - background:transparent !important; - } - ` - }, - - events:{ - - // component events - DOMready: function(e){ - console.log(`title: codemirror; uid: ${this.el.dom.id}; attach: #overlay; dom: #${this.el.dom.id};`) - this.el.setAttribute("window", `title: codemirror; uid: ${this.el.dom.id}; attach: #overlay; dom: #${this.el.dom.id};`) - this.editor = CodeMirror( this.el.dom, { - value: "function myScript(){return 100;}\n", - mode: "javascript", - lineNumbers: true, - styleActiveLine: true, - matchBrackets: true, - Tab: "indentMore", - defaultTab: function(cm) { - if (cm.somethingSelected()) cm.indentSelection("add"); - else cm.replaceSelection(" ", "end"); - } - }) - this.editor.setOption("theme", "shadowfox") - }, - }, - - - manifest: { // HTML5 manifest to identify app to xrsh - "short_name": "Paste", - "name": "Paste", - "icons": [ - { - "src": "https://css.gg/clipboard.svg", - "type": "image/svg+xml", - "sizes": "512x512" - } - ], - "id": "/?source=pwa", - "start_url": "/?source=pwa", - "background_color": "#3367D6", - "display": "standalone", - "scope": "/", - "theme_color": "#3367D6", - "shortcuts": [ - { - "name": "What is the latest news?", - "cli":{ - "usage": "helloworld [options]", - "example": "helloworld news", - "args":{ - "--latest": {type:"string"} - } - }, - "short_name": "Today", - "description": "View weather information for today", - "url": "/today?source=pwa", - "icons": [{ "src": "/images/today.png", "sizes": "192x192" }] - } - ], - "description": "Paste the clipboard", - "screenshots": [ - { - "src": "/images/screenshot1.png", - "type": "image/png", - "sizes": "540x720", - "form_factor": "narrow" - } - ], - "help":` -Helloworld application - -This is a help file which describes the application. -It will be rendered thru troika text, and will contain -headers based on non-punctualized lines separated by linebreaks, -in above's case "\nHelloworld application\n" will qualify as header. - ` - } - -}); - diff --git a/buildroot-v86/board/v86/rootfs_overlay/root/manual.md b/buildroot-v86/board/v86/rootfs_overlay/root/manual.md index 96c3342..e1d0494 100644 --- a/buildroot-v86/board/v86/rootfs_overlay/root/manual.md +++ b/buildroot-v86/board/v86/rootfs_overlay/root/manual.md @@ -26,6 +26,7 @@ Please hook up your (bluetooth) keyboard to use xrsh. | usecase | command | |-----------------------|--------------------------------------------------------| +| require | adds javascript or CSS url to DOM | | js run | js 'alert("hello")' | | js console.log: | console document.baseURI | | js inspect: | js "return document.baseURI" | diff --git a/dist/v86-linux.iso b/dist/v86-linux.iso index dd1c03c..1f8a641 100644 Binary files a/dist/v86-linux.iso and b/dist/v86-linux.iso differ diff --git a/edit.sh b/edit.sh index 9b78ec4..445eeeb 100755 --- a/edit.sh +++ b/edit.sh @@ -2,8 +2,9 @@ set -e make BR2_EXTERNAL=/buildroot-v86 v86_defconfig mkdir output/legal-info && touch output/legal-info/{host-licenses,licenses,buildroot.config} + make menuconfig -make busybox-meuconfig +make busybox-menuconfig make linux-menuconfig make savedefconfig make linux-savedefconfig