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'; }