1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

exec node: add windowsHide option to hide windows under Windows

This commit is contained in:
Nathanaël Lécaudé 2021-06-16 17:00:00 -04:00
parent 79875ef50d
commit 91ab3bd972
4 changed files with 16 additions and 2 deletions

View File

@ -40,6 +40,10 @@
<input type="text" id="node-input-timer" style="width:65px;" data-i18n="[placeholder]exec.label.timeoutplace">
<span data-i18n="exec.label.seconds"></span>
</div>
<div class="form-row">
<label for="node-input-windowsHide" style="width: auto !important; padding-right:10px"><i class="fa fa-windows"></i> <span data-i18n="exec.label.windowshide"></span></label>
<input type="checkbox" id="node-input-windowsHide" style="display:inline-block; width:auto;">
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="common.label.name"></span></label>
<input type="text" id="node-input-name" data-i18n="[placeholder]common.label.name">
@ -56,6 +60,7 @@
append: {value:""},
useSpawn: {value:"false"},
timer: {value:""},
windowsHide: {value:false},
oldrc: {value:false},
name: {value:""}
},
@ -92,6 +97,12 @@
});
$("#node-input-addpay-cb").trigger("change")
if (this.windowsHide === "true" || this.windowsHide === true) {
$("#node-input-windowsHide").prop("checked",true);
} else {
$("#node-input-windowsHide").prop("checked",false);
}
},
oneditsave: function() {
if (!$("#node-input-addpay-cb").prop("checked")) {

View File

@ -34,7 +34,8 @@ module.exports = function(RED) {
this.timer = Number(n.timer || 0)*1000;
this.activeProcesses = {};
this.oldrc = (n.oldrc || false).toString();
this.execOpt = {encoding:'binary', maxBuffer:RED.settings.execMaxBufferSize||10000000};
this.execOpt = {encoding:'binary', maxBuffer:RED.settings.execMaxBufferSize||10000000, windowsHide: (n.windowsHide === true)};
this.spawnOpt = {windowsHide: (n.windowsHide === true) }
var node = this;
if (process.platform === 'linux' && fs.existsSync('/bin/bash')) { node.execOpt.shell = '/bin/bash'; }

View File

@ -80,4 +80,5 @@
<p>If the node has more than one process running then <code>msg.pid</code> must also be set with the value of the PID to be killed.</p>
<p>If a value is provided in the <code>Timeout</code> field then, if the process has not completed when the specified number of seconds has elapsed, the process will be killed automatically</p>
<p>Tip: if running a Python app you may need to use the <code>-u</code> parameter to stop the output being buffered.</p>
<p>The <code>Hide windows</code> option can be set to hide shell windows under Windows.</p>
</script>

View File

@ -198,7 +198,8 @@
"seconds": "seconds",
"stdout": "stdout",
"stderr": "stderr",
"retcode": "return code"
"retcode": "return code",
"windowshide": "Hide windows"
},
"placeholder": {
"extraparams": "extra input parameters"