diff --git a/meshcentral-config-schema.json b/meshcentral-config-schema.json index f4a54eec..32e52dfc 100644 --- a/meshcentral-config-schema.json +++ b/meshcentral-config-schema.json @@ -307,6 +307,25 @@ "guestDeviceSharing": { "type": "boolean", "default": true, "description": "When set to false, the desktop/terminal sharing link feature is not available." }, "autoRemoveInactiveDevices": { "type": "integer", "default": 0, "minimum": 0, "maximum": 2000, "description": "Number of days a device can be inactive before it's removed. 0 disables this feature. Device group setting will override this value." }, "DeviceSearchBarServerAndClientName": { "type": "boolean", "default": false, "description": "When set to true, the devices search box will match on both the server name and client name of a device." }, + "PreconfiguredRemoteInput": { + "type": "array", + "default": null, + "description": "When set, you can right click on the input button in the desktop tab and instantly remotely type one of these pre-configured strings.", + "items": { + "type": "object", + "required": [ "name", "value" ], + "properties": { + "name": { + "description": "Name of the text string.", + "type": "string" + }, + "protocol": { + "description": "Text string that will be remotely typed when selected.", + "type": "string" + } + } + } + }, "altMessenging": { "type": "object", "properties": { diff --git a/meshuser.js b/meshuser.js index e16146e7..6b3e0700 100644 --- a/meshuser.js +++ b/meshuser.js @@ -548,6 +548,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use if (typeof domain.terminal == 'object') { // Settings used for remote terminal feature if ((typeof domain.terminal.linuxshell == 'string') && (domain.terminal.linuxshell != 'any')) { serverinfo.linuxshell = domain.terminal.linuxshell; } } + if (Array.isArray(domain.preconfiguredremoteinput)) { serverinfo.preConfiguredRemoteInput = domain.preconfiguredremoteinput; } // Send server information try { ws.send(JSON.stringify({ action: 'serverinfo', serverinfo: serverinfo })); } catch (ex) { } diff --git a/sample-config-advanced.json b/sample-config-advanced.json index 0a0077a3..e104cda1 100644 --- a/sample-config-advanced.json +++ b/sample-config-advanced.json @@ -141,6 +141,7 @@ "minify": true, "_guestDeviceSharing" : false, "_AutoRemoveInactiveDevices": 37, + "_DeviceSearchBarServerAndClientName": false, "_loginKey": [ "abc", "123" ], "_newAccounts": true, "_newAccountsUserGroups": [ "ugrp//xxxxxxxxxxxxxxxxx" ], @@ -180,6 +181,20 @@ } ] }, + "PreconfiguredRemoteInput": [ + { + "name": "CompagnyUrl", + "value": "https://help.mycompany.com/" + }, + { + "name": "Any Text", + "value": "Any text\r" + }, + { + "name": "Welcome", + "value": "Default welcome text" + } + ], "myServer": { "Backup": false, "Restore": false, diff --git a/views/default.handlebars b/views/default.handlebars index ed10bd6b..6b2acdf9 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -111,6 +111,8 @@
+