From 0df49e387c26b4252a66ca385b2bed9439b88352 Mon Sep 17 00:00:00 2001 From: Dany LE Date: Sat, 27 Nov 2021 17:42:20 +0100 Subject: [PATCH] update vterm --- packages.json | 2 +- vTerm/README.md | 3 ++- vTerm/build/debug/README.md | 3 ++- vTerm/build/debug/main.js | 2 +- vTerm/build/debug/package.json | 3 ++- vTerm/build/release/vTerm.zip | Bin 3295 -> 2499 bytes vTerm/main.coffee | 4 ++-- vTerm/package.json | 3 ++- 8 files changed, 12 insertions(+), 8 deletions(-) diff --git a/packages.json b/packages.json index 54b2a13..223b6a7 100644 --- a/packages.json +++ b/packages.json @@ -425,7 +425,7 @@ "description": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/README.md", "category": "System", "author": "Xuan Sang LE", - "version": "0.1.15-a", + "version": "0.1.16-a", "dependencies": ["Antunnel@0.2.0-b","xTerm@4.8.1-r"], "download": "https://raw.githubusercontent.com/lxsang/antosdk-apps/master/vTerm/build/release/vTerm.zip" }, diff --git a/vTerm/README.md b/vTerm/README.md index 7ac94ca..41e2c9c 100644 --- a/vTerm/README.md +++ b/vTerm/README.md @@ -12,7 +12,8 @@ VTerm depends on the server side **tunnel** plugin and the AntOS **Antunnel** client side package ## Change logs --v0.1.15-a update dependencies to latest +- v0.1.16-a fix incorrect control command +- v0.1.15-a update dependencies to latest - v0.1.14-a: Change app icon - v0.1.12-a: Add copy/paste shortcuts (CTRL+SHIFT+C/ CTRL+SHIFT+V) - v0.1.9-a: Update dependencies to latest diff --git a/vTerm/build/debug/README.md b/vTerm/build/debug/README.md index 7ac94ca..41e2c9c 100644 --- a/vTerm/build/debug/README.md +++ b/vTerm/build/debug/README.md @@ -12,7 +12,8 @@ VTerm depends on the server side **tunnel** plugin and the AntOS **Antunnel** client side package ## Change logs --v0.1.15-a update dependencies to latest +- v0.1.16-a fix incorrect control command +- v0.1.15-a update dependencies to latest - v0.1.14-a: Change app icon - v0.1.12-a: Add copy/paste shortcuts (CTRL+SHIFT+C/ CTRL+SHIFT+V) - v0.1.9-a: Update dependencies to latest diff --git a/vTerm/build/debug/main.js b/vTerm/build/debug/main.js index 9021c2c..54890ce 100644 --- a/vTerm/build/debug/main.js +++ b/vTerm/build/debug/main.js @@ -1 +1 @@ -(function(){var t;(t=class extends this.OS.application.BaseApplication{constructor(t){super("vTerm",t)}main(){var t;return this.mterm=this.find("myterm"),this.term=new Terminal({cursorBlink:!0}),this.fitAddon=new FitAddon.FitAddon,this.term.loadAddon(this.fitAddon),this.term.setOption("fontSize","12"),this.term.open(this.mterm),this.sub=void 0,this.bindKey("CTRL-SHIFT-C",t=>(this.mctxHandle({id:"copy"}),this.term.focus())),this.bindKey("CTRL-SHIFT-V",t=>this.mctxHandle({id:"paste"})),this.term.onKey(t=>{if(this.sub)return this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(t.key))}),this.on("focus",()=>this.term.focus()),this.mterm.contextmenuHandle=(t,e)=>(e.items=[{text:"__(Copy)",id:"copy"},{text:"__(Paste)",id:"paste"}],e.onmenuselect=t=>{if(t)return this.mctxHandle(t.data.item.data)},e.show(t)),this.resizeContent(),this.systemsetting.desktop.menu[this.name]||(this.systemsetting.desktop.menu[this.name]={text:"__(Open terminal)",app:"vTerm"}),this.on("hboxchange",t=>this.resizeContent()),t=()=>Antunnel.tunnel?(this.tunnel=Antunnel.tunnel,this.openSession()):this._gui.pushService("Antunnel/AntunnelService").then(t=>{if(this.systemsetting.system.tunnel_uri)return Antunnel.init(this.systemsetting.system.tunnel_uri).then(t=>(this.notify(__("Tunnel now connected to the server at: {0}",this.systemsetting.system.tunnel_uri)),this.tunnel=Antunnel.tunnel,this.openSession())).catch(t=>(Antunnel.tunnel&&Antunnel.tunnel.close(),this.error(__("Unable to connect to the tunnel: {0}",t.toString()),t),this.quit()))}).catch(t=>(this.error(__("Unable to run Antunnel service: {0}",t.toString()),t),this.quit())),window.Antunnel?t():this._api.requires("pkg://Antunnel/main.js").then(()=>t()).catch(t=>(this.error(__("Unable to load Antunnel: {0}",t.toString()),t),this.quit()))}mctxHandle(t){var e,n;switch(t.id){case"paste":return e=t=>{if(t&&""!==t)return t=t.replace(/\n/g,"\r"),this.sub&&this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(t)),this.term.focus()},this._api.getClipboard().then(t=>e(t)).catch(t=>(this.error(__("Unable to paste"),t),this.openDialog("TextDialog",{title:"Paste text"}).then(t=>e(t)).catch(t=>this.error(t.toString(),t))));case"copy":if(!(n=this.term.getSelection())||""===n)return;return this._api.setClipboard(n)}}resizeContent(){var t,e,n;if(this.fitAddon.fit(),e=this.term.cols,n=this.term.rows,this.sub)return(t=new Uint8Array(8)).set(Antunnel.Msg.bytes_of(e),0),t.set(Antunnel.Msg.bytes_of(n),4),this.sub.send(Antunnel.Msg.CTRL,t)}openSession(){return this.term.clear(),this.term.focus(),this.sub=new Antunnel.Subscriber("vterm"),this.sub.onopen=()=>(console.log("Subscribed"),this.resizeContent($(this.mterm).width(),$(this.mterm).height()),this.term.focus()),this.sub.onerror=t=>(this.error(__("Unable to connect to: vterm"),t),this.sub=void 0),this.sub.onmessage=t=>{if(this.term&&t.data)return this.term.write(new TextDecoder("utf-8").decode(t.data))},this.sub.onclose=()=>(this.sub=void 0,this.notify(__("Terminal connection closed")),this.quit()),this.tunnel.subscribe(this.sub)}cleanup(t){if(this.sub)return this.sub.close()}}).dependencies=["pkg://xTerm/main.js","pkg://xTerm/main.css","pkg://Antunnel/main.js"],this.OS.register("vTerm",t)}).call(this); \ No newline at end of file +(function(){var t;(t=class extends this.OS.application.BaseApplication{constructor(t){super("vTerm",t)}main(){var t;return this.mterm=this.find("myterm"),this.term=new Terminal({cursorBlink:!0}),this.fitAddon=new FitAddon.FitAddon,this.term.loadAddon(this.fitAddon),this.term.setOption("fontSize","12"),this.term.open(this.mterm),this.sub=void 0,this.bindKey("CTRL-SHIFT-C",t=>(this.mctxHandle({id:"copy"}),this.term.focus())),this.bindKey("CTRL-SHIFT-V",t=>this.mctxHandle({id:"paste"})),this.term.onKey(t=>{if(this.sub)return this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(t.key))}),this.on("focus",()=>this.term.focus()),this.mterm.contextmenuHandle=(t,e)=>(e.items=[{text:"__(Copy)",id:"copy"},{text:"__(Paste)",id:"paste"}],e.onmenuselect=t=>{if(t)return this.mctxHandle(t.data.item.data)},e.show(t)),this.resizeContent(),this.systemsetting.desktop.menu[this.name]||(this.systemsetting.desktop.menu[this.name]={text:"__(Open terminal)",app:"vTerm"}),this.on("hboxchange",t=>this.resizeContent()),t=()=>Antunnel.tunnel?(this.tunnel=Antunnel.tunnel,this.openSession()):this._gui.pushService("Antunnel/AntunnelService").then(t=>{if(this.systemsetting.system.tunnel_uri)return Antunnel.init(this.systemsetting.system.tunnel_uri).then(t=>(this.notify(__("Tunnel now connected to the server at: {0}",this.systemsetting.system.tunnel_uri)),this.tunnel=Antunnel.tunnel,this.openSession())).catch(t=>(Antunnel.tunnel&&Antunnel.tunnel.close(),this.error(__("Unable to connect to the tunnel: {0}",t.toString()),t),this.quit()))}).catch(t=>(this.error(__("Unable to run Antunnel service: {0}",t.toString()),t),this.quit())),window.Antunnel?t():this._api.requires("pkg://Antunnel/main.js").then(()=>t()).catch(t=>(this.error(__("Unable to load Antunnel: {0}",t.toString()),t),this.quit()))}mctxHandle(t){var e,n;switch(t.id){case"paste":return e=t=>{if(t&&""!==t)return t=t.replace(/\n/g,"\r"),this.sub&&this.sub.send(Antunnel.Msg.DATA,new TextEncoder("utf-8").encode(t)),this.term.focus()},this._api.getClipboard().then(t=>e(t)).catch(t=>(this.error(__("Unable to paste"),t),this.openDialog("TextDialog",{title:"Paste text"}).then(t=>e(t)).catch(t=>this.error(t.toString(),t))));case"copy":if(!(n=this.term.getSelection())||""===n)return;return this._api.setClipboard(n)}}resizeContent(){var t,e,n;if(this.fitAddon.fit(),e=this.term.cols,n=this.term.rows,this.sub)return(t=new Uint8Array(8)).set(Antunnel.Msg.bytes_of(e,4),0),t.set(Antunnel.Msg.bytes_of(n,4),4),this.sub.send(Antunnel.Msg.CTRL,t)}openSession(){return this.term.clear(),this.term.focus(),this.sub=new Antunnel.Subscriber("vterm"),this.sub.onopen=()=>(console.log("Subscribed"),this.resizeContent($(this.mterm).width(),$(this.mterm).height()),this.term.focus()),this.sub.onerror=t=>(this.error(__("Unable to connect to: vterm"),t),this.sub=void 0),this.sub.onmessage=t=>{if(this.term&&t.data)return this.term.write(new TextDecoder("utf-8").decode(t.data))},this.sub.onclose=()=>(this.sub=void 0,this.notify(__("Terminal connection closed")),this.quit()),this.tunnel.subscribe(this.sub)}cleanup(t){if(this.sub)return this.sub.close()}}).dependencies=["pkg://xTerm/main.js","pkg://xTerm/main.css","pkg://Antunnel/main.js"],this.OS.register("vTerm",t)}).call(this); \ No newline at end of file diff --git a/vTerm/build/debug/package.json b/vTerm/build/debug/package.json index 9cfef29..1a1df20 100644 --- a/vTerm/build/debug/package.json +++ b/vTerm/build/debug/package.json @@ -1,4 +1,5 @@ { + "pkgname":"vTerm" , "app":"vTerm", "name":"Virtual Terminal", "description":"Access Unix terminal from web", @@ -6,7 +7,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.1.15-a", + "version":"0.1.16-a", "category":"System", "iconclass":"bi bi-terminal-fill", "mimes":["none"], diff --git a/vTerm/build/release/vTerm.zip b/vTerm/build/release/vTerm.zip index 831a0eeb231efe0733f8f76dd20158f6ddacca5c..2dc294426c91bab568198056143f79baa3a1572e 100644 GIT binary patch delta 2366 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 delta 3144 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 diff --git a/vTerm/main.coffee b/vTerm/main.coffee index a1d79f8..48059b5 100644 --- a/vTerm/main.coffee +++ b/vTerm/main.coffee @@ -120,8 +120,8 @@ class vTerm extends this.OS.application.BaseApplication nrow = @term.rows return unless @sub arr = new Uint8Array(8) - arr.set Antunnel.Msg.bytes_of(ncol), 0 - arr.set Antunnel.Msg.bytes_of(nrow), 4 + arr.set Antunnel.Msg.bytes_of(ncol,4), 0 + arr.set Antunnel.Msg.bytes_of(nrow,4), 4 @sub.send Antunnel.Msg.CTRL, arr openSession: () -> diff --git a/vTerm/package.json b/vTerm/package.json index 9cfef29..1a1df20 100644 --- a/vTerm/package.json +++ b/vTerm/package.json @@ -1,4 +1,5 @@ { + "pkgname":"vTerm" , "app":"vTerm", "name":"Virtual Terminal", "description":"Access Unix terminal from web", @@ -6,7 +7,7 @@ "author": "Xuan Sang LE", "email": "xsang.le@gmail.com" }, - "version":"0.1.15-a", + "version":"0.1.16-a", "category":"System", "iconclass":"bi bi-terminal-fill", "mimes":["none"],