From 5126f414bf2f70c3f75b81957209aa8462b17935 Mon Sep 17 00:00:00 2001 From: Seven Yu Date: Tue, 3 Dec 2019 16:53:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=96=87=E6=9C=AC=20=E5=92=8C=20html=20=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/index.js | 39 +++++++++++++++++++-------------------- preload.js | 2 ++ 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/assets/index.js b/assets/index.js index 4cd2e6b..b62069f 100644 --- a/assets/index.js +++ b/assets/index.js @@ -8,7 +8,7 @@ utools.onPluginEnter(({ code, type, payload }) => { showOptions(); } else { $("#options").hide(); - $("#out").show(); + $("#out").show().text(''); var db = utools.db.get('customFts').data[code], cmd = db.cmd; if (db.program == "custom") { @@ -40,51 +40,50 @@ utools.onPluginEnter(({ code, type, payload }) => { setSubInput(); document.addEventListener('keydown', handleEnter); } else { - utools.setExpendHeight(0); - utools.hideMainWindow(); runCmd(cmd, option, db.codec, db.output); } } }); +utools.onPluginOut(_ => { + $("#out").text(''); +}) + function runCmd(cmd, option, codec, output) { + // 不需要输出的,提前关闭窗口 + if (['ignore', 'clip', 'send'].indexOf(output) !== -1){ + utools.outPlugin() + utools.hideMainWindow() + } // 运行脚本 window.run(cmd, option, codec, (stdout, stderr) => { - // 报错 if (stderr) { + // 报错 window.messageBox({ type: 'error', icon: window.logo, message: stderr, buttons: ['纳尼?!'] }) - utools.outPlugin(); - return; - } - // 有输出 - if (stdout) { + utools.outPlugin() + } else if (stdout) { + // 有输出 switch (output) { - case "ignore": - utools.outPlugin(); - break; case "text": - utools.showMainWindow(); - utools.setExpendHeight(600); $("#out").text(stdout); break; case "html": - utools.showMainWindow(); - utools.setExpendHeight(600); $("#out").html(stdout); break; case "clip": copyTo(stdout); - utools.outPlugin(); break; case "send": copyTo(stdout); paste(); - utools.outPlugin(); + break; + case "ignore": + default: break; } - // 无输出 } else { - utools.outPlugin(); + // 无输出 + utools.outPlugin() } }) } diff --git a/preload.js b/preload.js index 0667109..3d8abe3 100644 --- a/preload.js +++ b/preload.js @@ -13,6 +13,8 @@ const { shell } = require('electron'); pluginInfo = JSON.parse(fs.readFileSync(path.join(__dirname, 'plugin.json'))); logo = nativeImage.createFromPath(path.join(__dirname, 'logo.png')); + +// fix PATH process.env.PATH += ':/usr/local/bin:/usr/local/sbin' messageBox = (options, callback) => {