tabby-rdp 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +150 -0
- package/dist/desk.js +86 -0
- package/dist/desk.js.map +1 -0
- package/dist/deskScript.js +44 -0
- package/dist/deskScript.js.map +1 -0
- package/dist/desktop.service.js +665 -0
- package/dist/desktop.service.js.map +1 -0
- package/dist/desktopForm.js +96 -0
- package/dist/desktopForm.js.map +1 -0
- package/dist/desktops.js +45 -0
- package/dist/desktops.js.map +1 -0
- package/dist/header.js +164 -0
- package/dist/header.js.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/rdcleanpath.js +255 -0
- package/dist/rdcleanpath.js.map +1 -0
- package/dist/remoteSetup.js +188 -0
- package/dist/remoteSetup.js.map +1 -0
- package/dist/signin.js +114 -0
- package/dist/signin.js.map +1 -0
- package/dist/ssh.js +54 -0
- package/dist/ssh.js.map +1 -0
- package/dist/sshChannelStream.js +34 -0
- package/dist/sshChannelStream.js.map +1 -0
- package/dist/targets.js +247 -0
- package/dist/targets.js.map +1 -0
- package/dist/ui.js +212 -0
- package/dist/ui.js.map +1 -0
- package/package.json +41 -0
- package/remote/trd-pty.py +561 -0
- package/vendor/IRONRDP-LICENSE +27 -0
- package/vendor/iron-remote-desktop-rdp.js +2878 -0
- package/vendor/iron-remote-desktop.js +4136 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop.service.js","sourceRoot":"","sources":["../src/desktop.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askNewDesktop = askNewDesktop;
|
|
4
|
+
/**
|
|
5
|
+
* "Add a desktop behind <host>": a form over the pane (plain DOM, like the sign-in form; uses its styles).
|
|
6
|
+
* While it shows, the terminal can't take focus, and focus that leaves the form comes back to it.
|
|
7
|
+
* Resolves with the new `remoteDesktop.desktops` entry, or null when cancelled.
|
|
8
|
+
*/
|
|
9
|
+
function askNewDesktop(pane, via, viaLabel) {
|
|
10
|
+
const overlay = document.createElement('div');
|
|
11
|
+
overlay.className = 'trd-overlay trd-form-overlay';
|
|
12
|
+
overlay.innerHTML = `
|
|
13
|
+
<div class="trd-signin">
|
|
14
|
+
<form autocomplete="off">
|
|
15
|
+
<div class="trd-signin-title"></div>
|
|
16
|
+
<div class="trd-signin-error"></div>
|
|
17
|
+
<input class="form-control" name="name" placeholder="Name, e.g. Windows VM" spellcheck="false">
|
|
18
|
+
<input class="form-control" name="address" placeholder="Address as seen from the host, e.g. 127.0.0.1:3389" spellcheck="false">
|
|
19
|
+
<select class="form-control" name="kind">
|
|
20
|
+
<option value="windows">Windows (or another RDP server)</option>
|
|
21
|
+
<option value="gnome">GNOME Remote Desktop (needs the graphics pipeline)</option>
|
|
22
|
+
</select>
|
|
23
|
+
<input class="form-control" name="username" placeholder="User name (optional; asked when connecting)" spellcheck="false">
|
|
24
|
+
<div class="trd-signin-buttons">
|
|
25
|
+
<button type="button" class="btn btn-secondary" name="cancel">Cancel</button>
|
|
26
|
+
<button type="submit" class="btn btn-primary">Add and open</button>
|
|
27
|
+
</div>
|
|
28
|
+
</form>
|
|
29
|
+
</div>`;
|
|
30
|
+
const form = overlay.querySelector('form');
|
|
31
|
+
const field = (name) => form.querySelector(`[name="${name}"]`);
|
|
32
|
+
form.querySelector('.trd-signin-title').textContent = `Add a desktop reached through ${viaLabel}`;
|
|
33
|
+
const error = form.querySelector('.trd-signin-error');
|
|
34
|
+
field('address').value = '127.0.0.1:3389';
|
|
35
|
+
if (getComputedStyle(pane).position === 'static') {
|
|
36
|
+
pane.style.position = 'relative';
|
|
37
|
+
}
|
|
38
|
+
pane.appendChild(overlay);
|
|
39
|
+
// Same as a desktop layer: the terminal underneath can't take the keyboard while the form shows.
|
|
40
|
+
const inputs = Array.from(pane.querySelectorAll('textarea.xterm-helper-textarea')).filter(t => !t.disabled);
|
|
41
|
+
inputs.forEach(t => { t.disabled = true; });
|
|
42
|
+
const focusForm = () => {
|
|
43
|
+
if (!form.contains(document.activeElement)) {
|
|
44
|
+
field('name').focus();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const reclaim = (event) => {
|
|
48
|
+
if (!overlay.contains(event.target)) {
|
|
49
|
+
setTimeout(focusForm);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
pane.addEventListener('focusin', reclaim, true);
|
|
53
|
+
setTimeout(focusForm);
|
|
54
|
+
return new Promise(resolve => {
|
|
55
|
+
const done = (result) => {
|
|
56
|
+
pane.removeEventListener('focusin', reclaim, true);
|
|
57
|
+
inputs.forEach(t => { t.disabled = false; });
|
|
58
|
+
overlay.remove();
|
|
59
|
+
resolve(result);
|
|
60
|
+
};
|
|
61
|
+
form.addEventListener('submit', event => {
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
const name = field('name').value.trim();
|
|
64
|
+
// host:port, [v6]:port, or a bare host (RDP's 3389).
|
|
65
|
+
const m = /^\[([^\]]+)\](?::(\d+))?$|^([^:\s]+)(?::(\d+))?$/.exec(field('address').value.trim());
|
|
66
|
+
const host = m?.[1] ?? m?.[3];
|
|
67
|
+
const port = Number(m?.[2] ?? m?.[4] ?? 3389);
|
|
68
|
+
if (!name) {
|
|
69
|
+
error.textContent = 'Give it a name.';
|
|
70
|
+
field('name').focus();
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (!host || !Number.isInteger(port) || port < 1 || port > 65535) {
|
|
74
|
+
error.textContent = 'The address should look like 127.0.0.1:3389 or vm.local:3389.';
|
|
75
|
+
field('address').focus();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const username = field('username').value.trim();
|
|
79
|
+
done({
|
|
80
|
+
name,
|
|
81
|
+
via,
|
|
82
|
+
host,
|
|
83
|
+
port,
|
|
84
|
+
kind: field('kind').value === 'gnome' ? 'gnome' : 'windows',
|
|
85
|
+
...username ? { username } : {},
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
field('cancel').addEventListener('click', () => done(null));
|
|
89
|
+
form.addEventListener('keydown', event => {
|
|
90
|
+
if (event.key === 'Escape') {
|
|
91
|
+
done(null);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=desktopForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktopForm.js","sourceRoot":"","sources":["../src/desktopForm.ts"],"names":[],"mappings":"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"}
|
package/dist/desktops.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OWN_DESKTOP = void 0;
|
|
4
|
+
exports.viaMatches = viaMatches;
|
|
5
|
+
exports.desktopsFor = desktopsFor;
|
|
6
|
+
exports.sessionKey = sessionKey;
|
|
7
|
+
exports.OWN_DESKTOP = 'own';
|
|
8
|
+
/** Whether a `via` value names this SSH target: its alias (label), hostname, user@hostname, or full key. */
|
|
9
|
+
function viaMatches(via, target) {
|
|
10
|
+
const v = via.trim().toLowerCase();
|
|
11
|
+
const key = target.key.toLowerCase(); // user@hostname:port
|
|
12
|
+
const userHost = key.replace(/:\d+$/, '');
|
|
13
|
+
const hostname = userHost.replace(/^[^@]*@/, '');
|
|
14
|
+
return !!v && [key, userHost, hostname, target.label.toLowerCase()].includes(v);
|
|
15
|
+
}
|
|
16
|
+
/** The SSH host's own desktop, then the configured desktops behind it. */
|
|
17
|
+
function desktopsFor(target, extras) {
|
|
18
|
+
const specs = [{ id: exports.OWN_DESKTOP, name: `${target.label} desktop`, kind: 'gnome', host: '127.0.0.1', port: 0 }];
|
|
19
|
+
for (const extra of Array.isArray(extras) ? extras : []) {
|
|
20
|
+
const port = Number(extra?.port ?? 3389);
|
|
21
|
+
if (!extra?.via || !viaMatches(extra.via, target) || !Number.isInteger(port) || port <= 0 || port > 65535) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const host = String(extra.host ?? '127.0.0.1');
|
|
25
|
+
const id = `${host}:${port}`;
|
|
26
|
+
if (specs.some(s => s.id === id)) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
specs.push({
|
|
30
|
+
id,
|
|
31
|
+
name: extra.name ? String(extra.name) : `${host}:${port}`,
|
|
32
|
+
kind: extra.kind === 'gnome' ? 'gnome' : 'windows',
|
|
33
|
+
host,
|
|
34
|
+
port,
|
|
35
|
+
username: extra.username ? String(extra.username) : undefined,
|
|
36
|
+
domain: extra.domain ? String(extra.domain) : undefined,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return specs;
|
|
40
|
+
}
|
|
41
|
+
/** One desktop per key: the remote account for its own desktop, plus the RDP server for one behind it. */
|
|
42
|
+
function sessionKey(target, spec) {
|
|
43
|
+
return spec.id === exports.OWN_DESKTOP ? target.key : `${target.key}#${spec.id}`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=desktops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktops.js","sourceRoot":"","sources":["../src/desktops.ts"],"names":[],"mappings":"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"}
|
package/dist/header.js
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.HeaderControls = void 0;
|
|
13
|
+
const core_1 = require("@angular/core");
|
|
14
|
+
const tabby_core_1 = require("tabby-core");
|
|
15
|
+
const desktop_service_1 = require("./desktop.service");
|
|
16
|
+
const ssh_1 = require("./ssh");
|
|
17
|
+
const targets_1 = require("./targets");
|
|
18
|
+
const ui_1 = require("./ui");
|
|
19
|
+
// Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free
|
|
20
|
+
// (Icons: CC BY 4.0) Copyright 2024 Fonticons, Inc.
|
|
21
|
+
const ICON_DESKTOP = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64L0 352c0 35.3 28.7 64 64 64l176 0-10.7 32L160 448c-17.7 0-32 14.3-32 32s14.3 32 32 32l256 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-69.3 0L336 416l176 0c35.3 0 64-28.7 64-64l0-288c0-35.3-28.7-64-64-64L64 0zM512 64l0 224L64 288 64 64l448 0z"/></svg>';
|
|
22
|
+
const ICON_TERMINAL = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M9.4 86.6C-3.1 74.1-3.1 53.9 9.4 41.4s32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L178.7 256 9.4 86.6zM256 416l288 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-288 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>';
|
|
23
|
+
const ICON_DISCONNECT = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"/></svg>';
|
|
24
|
+
/**
|
|
25
|
+
* Desktop/console switch and Disconnect in Tabby's header, left of the settings gear, for the active
|
|
26
|
+
* tab's SSH pane. Tabby builds its own header buttons once at startup, so these are plain DOM kept in
|
|
27
|
+
* sync with the active tab and the desktop state.
|
|
28
|
+
*/
|
|
29
|
+
let HeaderControls = class HeaderControls {
|
|
30
|
+
constructor(app, desktop, targets, platform, zone) {
|
|
31
|
+
this.app = app;
|
|
32
|
+
this.desktop = desktop;
|
|
33
|
+
this.targets = targets;
|
|
34
|
+
this.platform = platform;
|
|
35
|
+
this.zone = zone;
|
|
36
|
+
this.group = null;
|
|
37
|
+
this.scheduled = false;
|
|
38
|
+
}
|
|
39
|
+
// All watching and DOM syncing runs outside Angular's zone: inside it, every observer callback and
|
|
40
|
+
// animation frame triggers app-wide change detection, whose DOM updates re-trigger the observer
|
|
41
|
+
// (an endless loop while no header group can be found, e.g. on the start page with no tabs open).
|
|
42
|
+
// Only user actions re-enter the zone, so Tabby's UI updates for tab switches.
|
|
43
|
+
install() {
|
|
44
|
+
this.zone.runOutsideAngular(() => {
|
|
45
|
+
this.app.activeTabChange$.subscribe(() => this.schedule());
|
|
46
|
+
this.desktop.changed$.subscribe(() => this.schedule());
|
|
47
|
+
// Focus moves between panes of a split without an activeTabChange$.
|
|
48
|
+
document.addEventListener('focusin', () => this.schedule(), true);
|
|
49
|
+
// The header renders after plugins load, and is re-rendered when the layout changes.
|
|
50
|
+
new MutationObserver(() => {
|
|
51
|
+
if (!this.group?.isConnected) {
|
|
52
|
+
this.schedule();
|
|
53
|
+
}
|
|
54
|
+
}).observe(document.body, { childList: true, subtree: true });
|
|
55
|
+
// A local terminal qualifies once `ssh` runs in it (and stops when it exits): keep checking the active one.
|
|
56
|
+
this.app.activeTabChange$.subscribe(() => this.detect());
|
|
57
|
+
setInterval(() => this.detect(), 2000);
|
|
58
|
+
this.schedule();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
async detect() {
|
|
62
|
+
const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
|
|
63
|
+
if (!pane) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
await this.targets.targetOf(pane);
|
|
67
|
+
this.schedule();
|
|
68
|
+
}
|
|
69
|
+
schedule() {
|
|
70
|
+
if (this.scheduled) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.scheduled = true;
|
|
74
|
+
// A timer, not requestAnimationFrame: Chromium stops animation frames while the window is hidden.
|
|
75
|
+
this.zone.runOutsideAngular(() => setTimeout(() => {
|
|
76
|
+
this.scheduled = false;
|
|
77
|
+
this.refresh();
|
|
78
|
+
}, 16));
|
|
79
|
+
}
|
|
80
|
+
ensureGroup() {
|
|
81
|
+
if (this.group?.isConnected) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
// The right-hand header group: settings gear (and update button).
|
|
85
|
+
const right = document.querySelector('app-root .btn-space ~ .btn-group');
|
|
86
|
+
if (!right) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
// Tabby's header button styles are scoped to its root component; borrow its scope attribute.
|
|
90
|
+
const reference = right.querySelector('button.btn-tab-bar');
|
|
91
|
+
const scope = reference ? Array.from(reference.attributes).filter(a => a.name.startsWith('_ngcontent')) : [];
|
|
92
|
+
const scoped = (el) => {
|
|
93
|
+
scope.forEach(a => el.setAttribute(a.name, a.value));
|
|
94
|
+
return el;
|
|
95
|
+
};
|
|
96
|
+
const button = (cls, onClick) => {
|
|
97
|
+
const b = scoped(document.createElement('button'));
|
|
98
|
+
b.className = `btn btn-secondary btn-tab-bar ${cls}`;
|
|
99
|
+
b.addEventListener('click', () => this.zone.run(onClick));
|
|
100
|
+
return b;
|
|
101
|
+
};
|
|
102
|
+
this.group = scoped(document.createElement('div'));
|
|
103
|
+
// Inline flex, not Bootstrap's d-flex: that is `display: flex !important` and can't be hidden.
|
|
104
|
+
this.group.className = 'trd-header';
|
|
105
|
+
this.group.style.display = 'flex';
|
|
106
|
+
this.toggleButton = button('trd-header-toggle', () => {
|
|
107
|
+
const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
|
|
108
|
+
if (pane) {
|
|
109
|
+
this.desktop.toggle(pane);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
this.disconnectButton = button('trd-header-disconnect', () => {
|
|
113
|
+
const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
|
|
114
|
+
if (pane) {
|
|
115
|
+
this.desktop.disconnect(pane);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
this.toggleButton.addEventListener('contextmenu', event => {
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
this.zone.run(() => {
|
|
121
|
+
const pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
|
|
122
|
+
const choices = pane ? (0, ui_1.desktopChoices)(this.desktop, pane, this.targets.cached(pane)?.label) : [];
|
|
123
|
+
const settings = { label: 'Remote desktop settings', submenu: (0, ui_1.settingsMenu)(this.desktop) };
|
|
124
|
+
this.platform.popupContextMenu(choices.length ? [...choices, { type: 'separator' }, settings] : (0, ui_1.settingsMenu)(this.desktop), event);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
this.disconnectButton.title = 'Disconnect remote desktop';
|
|
128
|
+
this.disconnectButton.innerHTML = ICON_DISCONNECT;
|
|
129
|
+
this.group.append(this.toggleButton, this.disconnectButton);
|
|
130
|
+
right.insertBefore(this.group, right.firstChild);
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
refresh() {
|
|
134
|
+
if (!this.ensureGroup()) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
let pane = (0, targets_1.desktopPaneOf)(this.app.activeTab);
|
|
138
|
+
// SSH tabs always qualify; local terminals only while they run ssh (see detect()).
|
|
139
|
+
if (pane && !(0, ssh_1.isSSHTab)(pane) && !this.desktop.has(pane) && !this.targets.cached(pane)) {
|
|
140
|
+
pane = null;
|
|
141
|
+
}
|
|
142
|
+
this.group.style.display = pane ? 'flex' : 'none';
|
|
143
|
+
if (!pane) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const visible = this.desktop.isVisible(pane);
|
|
147
|
+
const title = (0, ui_1.toggleLabel)(this.desktop, pane);
|
|
148
|
+
if (this.toggleButton.title !== title) {
|
|
149
|
+
this.toggleButton.title = title;
|
|
150
|
+
this.toggleButton.innerHTML = visible ? ICON_TERMINAL : ICON_DESKTOP;
|
|
151
|
+
}
|
|
152
|
+
this.disconnectButton.style.display = this.desktop.has(pane) ? '' : 'none';
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
exports.HeaderControls = HeaderControls;
|
|
156
|
+
exports.HeaderControls = HeaderControls = __decorate([
|
|
157
|
+
(0, core_1.Injectable)({ providedIn: 'root' }),
|
|
158
|
+
__metadata("design:paramtypes", [tabby_core_1.AppService,
|
|
159
|
+
desktop_service_1.RemoteDesktopService,
|
|
160
|
+
targets_1.RemoteTargets,
|
|
161
|
+
tabby_core_1.PlatformService,
|
|
162
|
+
core_1.NgZone])
|
|
163
|
+
], HeaderControls);
|
|
164
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../src/header.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const core_1 = require("@angular/core");
|
|
13
|
+
const tabby_core_1 = require("tabby-core");
|
|
14
|
+
const tabby_terminal_1 = require("tabby-terminal");
|
|
15
|
+
const desktop_service_1 = require("./desktop.service");
|
|
16
|
+
const desk_1 = require("./desk");
|
|
17
|
+
const header_1 = require("./header");
|
|
18
|
+
const ssh_1 = require("./ssh");
|
|
19
|
+
const targets_1 = require("./targets");
|
|
20
|
+
const ui_1 = require("./ui");
|
|
21
|
+
let RemoteDesktopModule = class RemoteDesktopModule {
|
|
22
|
+
constructor(app, hotkeys, desktop, header, targets, injector) {
|
|
23
|
+
(0, desktop_service_1.installStyle)();
|
|
24
|
+
header.install();
|
|
25
|
+
hotkeys.hotkey$.subscribe((id) => {
|
|
26
|
+
if (id !== ui_1.TOGGLE_HOTKEY) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const pane = (0, targets_1.desktopPaneOf)(app.activeTab);
|
|
30
|
+
if (pane) {
|
|
31
|
+
desktop.toggle(pane);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// Handle for tests and troubleshooting from DevTools.
|
|
35
|
+
const w = window;
|
|
36
|
+
w.__remoteDesktop = { app, desktop, targets, desktopPaneOf: targets_1.desktopPaneOf, injector, execRemote: ssh_1.execRemote };
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
RemoteDesktopModule = __decorate([
|
|
40
|
+
(0, core_1.NgModule)({
|
|
41
|
+
providers: [
|
|
42
|
+
{ provide: tabby_core_1.HotkeyProvider, useClass: ui_1.RemoteDesktopHotkeys, multi: true },
|
|
43
|
+
{ provide: tabby_core_1.ConfigProvider, useClass: ui_1.RemoteDesktopConfig, multi: true },
|
|
44
|
+
{ provide: tabby_core_1.TabContextMenuItemProvider, useClass: ui_1.RemoteDesktopContextMenu, multi: true },
|
|
45
|
+
{ provide: tabby_terminal_1.TerminalDecorator, useClass: ui_1.RemoteDesktopToolbarButton, multi: true },
|
|
46
|
+
{ provide: tabby_terminal_1.TerminalDecorator, useClass: desk_1.DeskTriggerDecorator, multi: true },
|
|
47
|
+
],
|
|
48
|
+
}),
|
|
49
|
+
__metadata("design:paramtypes", [tabby_core_1.AppService, tabby_core_1.HotkeysService, desktop_service_1.RemoteDesktopService, header_1.HeaderControls, targets_1.RemoteTargets, core_1.Injector])
|
|
50
|
+
], RemoteDesktopModule);
|
|
51
|
+
exports.default = RemoteDesktopModule;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,wCAAkD;AAClD,2CAAmH;AACnH,mDAAkD;AAClD,uDAAsE;AACtE,iCAA6C;AAC7C,qCAAyC;AACzC,+BAAkC;AAClC,uCAAwD;AACxD,6BAEa;AAWE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACpC,YAAa,GAAe,EAAE,OAAuB,EAAE,OAA6B,EAAE,MAAsB,EAAE,OAAsB,EAAE,QAAkB;QACpJ,IAAA,8BAAY,GAAE,CAAA;QACd,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAU,EAAE,EAAE;YACrC,IAAI,EAAE,KAAK,kBAAa,EAAE,CAAC;gBACvB,OAAM;YACV,CAAC;YACD,MAAM,IAAI,GAAG,IAAA,uBAAa,EAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACzC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,sDAAsD;QACtD,MAAM,CAAC,GAAG,MAAa,CAAA;QACvB,CAAC,CAAC,eAAe,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAb,uBAAa,EAAE,QAAQ,EAAE,UAAU,EAAV,gBAAU,EAAE,CAAA;IACtF,CAAC;CACJ,CAAA;AAjBoB,mBAAmB;IATvC,IAAA,eAAQ,EAAC;QACN,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,2BAAc,EAAE,QAAQ,EAAE,yBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE;YACxE,EAAE,OAAO,EAAE,2BAAc,EAAE,QAAQ,EAAE,wBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;YACvE,EAAE,OAAO,EAAE,uCAA0B,EAAE,QAAQ,EAAE,6BAAwB,EAAE,KAAK,EAAE,IAAI,EAAE;YACxF,EAAE,OAAO,EAAE,kCAAiB,EAAE,QAAQ,EAAE,+BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE;YACjF,EAAE,OAAO,EAAE,kCAAiB,EAAE,QAAQ,EAAE,2BAAoB,EAAE,KAAK,EAAE,IAAI,EAAE;SAC9E;KACJ,CAAC;qCAEoB,uBAAU,EAAW,2BAAc,EAAW,sCAAoB,EAAU,uBAAc,EAAW,uBAAa,EAAY,eAAQ;GADvI,mBAAmB,CAiBvC;kBAjBoB,mBAAmB"}
|