mirror of
https://github.com/Ylianst/MeshCentral.git
synced 2024-12-26 15:35:06 +03:00
Changed the display selector code.
This commit is contained in:
parent
d325cde46b
commit
0f7e782a8d
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "meshcentral",
|
||||
"version": "0.3.3-d",
|
||||
"version": "0.3.3-e",
|
||||
"keywords": [
|
||||
"Remote Management",
|
||||
"Intel AMT",
|
||||
|
@ -189,7 +189,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
||||
obj.ProcessDataEx = function (str) {
|
||||
if (obj.accumulator != null) {
|
||||
str = obj.accumulator + str;
|
||||
console.log('KVM using accumulated data, total size is now ' + str.length + ' bytes.');
|
||||
//console.log('KVM using accumulated data, total size is now ' + str.length + ' bytes.');
|
||||
obj.accumulator = null;
|
||||
}
|
||||
if (obj.debugmode > 1) { console.log("KRecv(" + str.length + "): " + rstr2hex(str.substring(0, Math.min(str.length, 40)))); }
|
||||
@ -202,7 +202,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
||||
cmdsize = ReadInt(str, 4);
|
||||
//console.log('JUMBO cmd=' + command + ', cmdsize=' + cmdsize + ', data received=' + str.length);
|
||||
if ((cmdsize + 8) > str.length) {
|
||||
console.log('KVM accumulator set to ' + str.length + ' bytes, need ' + cmdsize + ' bytes.');
|
||||
//console.log('KVM accumulator set to ' + str.length + ' bytes, need ' + cmdsize + ' bytes.');
|
||||
obj.accumulator = str;
|
||||
return;
|
||||
}
|
||||
@ -212,7 +212,7 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
||||
if ((cmdsize != str.length) && (obj.debugmode > 0)) { console.log(cmdsize, str.length, cmdsize == str.length); }
|
||||
if ((command >= 18) && (command != 65)) { console.error("Invalid KVM command " + command + " of size " + cmdsize); console.log("Invalid KVM data", str.length, rstr2hex(str.substring(0, 40)) + '...'); return; }
|
||||
if (cmdsize > str.length) {
|
||||
console.log('KVM accumulator set to ' + str.length + ' bytes, need ' + cmdsize + ' bytes.');
|
||||
//console.log('KVM accumulator set to ' + str.length + ' bytes, need ' + cmdsize + ' bytes.');
|
||||
obj.accumulator = str;
|
||||
return;
|
||||
}
|
||||
@ -249,17 +249,16 @@ var CreateAgentRemoteDesktop = function (canvasid, scrolldiv) {
|
||||
obj.send(String.fromCharCode(0x00, 0x0E, 0x00, 0x04));
|
||||
break;
|
||||
case 11: // GetDisplays
|
||||
var myOptions = [], dcount = ((str.charCodeAt(4) & 0xFF) << 8) + (str.charCodeAt(5) & 0xFF);
|
||||
var selectedDisplay = 0, displays = { }, dcount = ((str.charCodeAt(4) & 0xFF) << 8) + (str.charCodeAt(5) & 0xFF);
|
||||
if (dcount > 0) {
|
||||
// Many displays present
|
||||
var selitem = 0, seldisp = ((str.charCodeAt(6 + (dcount * 2)) & 0xFF) << 8) + (str.charCodeAt(7 + (dcount * 2)) & 0xFF);
|
||||
selectedDisplay = ((str.charCodeAt(6 + (dcount * 2)) & 0xFF) << 8) + (str.charCodeAt(7 + (dcount * 2)) & 0xFF);
|
||||
for (var i = 0; i < dcount; i++) {
|
||||
var disp = ((str.charCodeAt(6 + (i * 2)) & 0xFF) << 8) + (str.charCodeAt(7 + (i * 2)) & 0xFF);
|
||||
if (disp == 65535) { myOptions.push('All Displays'); } else { myOptions.push('Display ' + disp); }
|
||||
if (disp == seldisp) selitem = i;
|
||||
if (disp == 65535) { displays[disp] = 'All Displays'; } else { displays[disp] = 'Display ' + disp; }
|
||||
}
|
||||
}
|
||||
if (obj.onDisplayinfo != null) { obj.onDisplayinfo(obj, myOptions, selitem); }
|
||||
if (obj.onDisplayinfo != null) { obj.onDisplayinfo(obj, displays, selectedDisplay); }
|
||||
break;
|
||||
case 12: // SetDisplay
|
||||
//console.log('SetDisplayConfirmed');
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -467,7 +467,7 @@
|
||||
</div>
|
||||
<div id=deskarea4 class="areaFoot">
|
||||
<div class="toright2">
|
||||
<select id=termdisplays style="display:none" onchange=deskSetDisplay(event) onclick=deskGetDisplayNumbers(event)></select>
|
||||
<select id=termdisplays style="display:none" onchange=deskSetDisplay(event)></select>
|
||||
<input id=DeskToolsButton type=button value=Tools title="Toggle tools view" onkeypress="return false" onkeydown="return false" onclick="toggleDeskTools()">
|
||||
<span id=DeskChatButton class="deskarea" title="Open chat window to this computer"><img src='images/icon-chat.png' onclick=deviceChat() height=16 width=16 style=padding-top:2px /></span>
|
||||
<span id=DeskNotifyButton title="Display a notification on the remote computer"><img src='images/icon-notify.png' onclick=deviceToastFunction() height=16 width=16 style=padding-top:2px /></span>
|
||||
@ -4781,22 +4781,20 @@
|
||||
Q("Desk")['toBlob'](function (blob) { saveAs(blob, n + ".jpg"); });
|
||||
}
|
||||
|
||||
function deskDisplayInfo(sender, info, selDisplay) {
|
||||
var txt = Q('termdisplays').value;
|
||||
if (info.length > 0) { var options = ''; for (var x in info) { options += '<option' + ((selDisplay == x) ? ' selected' : '') + '>' + info[x] + '</option>'; } QH('termdisplays', options); }
|
||||
QV('termdisplays', info.length > 1);
|
||||
if ((deskPreferedStickyDisplay != selDisplay) && (info.length > deskPreferedStickyDisplay)) { desktop.m.SetDisplay(deskPreferedStickyDisplay); }
|
||||
function deskDisplayInfo(sender, displays, selDisplay) {
|
||||
var displayCount = 0, displaySelector = '';
|
||||
for (var i in displays) {
|
||||
displayCount++;
|
||||
displaySelector += '<option' + ((selDisplay == i) ? ' selected' : '') + ' value=' + i + '>' + displays[i] + '</option>';
|
||||
if ((deskPreferedStickyDisplay == i) && (selDisplay != deskPreferedStickyDisplay)) { desktop.m.SetDisplay(i); }
|
||||
}
|
||||
QH('termdisplays', displaySelector);
|
||||
QV('termdisplays', displayCount > 1);
|
||||
}
|
||||
|
||||
function deskGetDisplayNumbers(e) { desktop.m.GetDisplayNumbers(); }
|
||||
|
||||
var deskPreferedStickyDisplay = 0;
|
||||
function deskSetDisplay(e) {
|
||||
var display = 0, txt = Q('termdisplays').value;
|
||||
if (txt == "All Displays") display = 65535; else display = parseInt(txt.substring(8));
|
||||
deskPreferedStickyDisplay = display;
|
||||
desktop.m.SetDisplay(display);
|
||||
}
|
||||
function deskSetDisplay(e) { desktop.m.SetDisplay(deskPreferedStickyDisplay = parseInt(Q('termdisplays').value)); }
|
||||
|
||||
// Double click detection. This is important for MacOS.
|
||||
var dblClickDetectArgs = { t:0, x:0, y:0 };
|
||||
|
Loading…
Reference in New Issue
Block a user