RDP-Tab unter Windows: mstsc als owned window statt Kindfenster (war hinter DirectComposition unsichtbar); dynamische Auflösung als Standard, Skalieren pro Host wählbar

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 15:34:24 +02:00
co-authored by Claude Opus 5.5
parent d49e7d3654
commit 8b708c338b
4 changed files with 47 additions and 24 deletions
+6 -5
View File
@@ -46,8 +46,8 @@ function writeRdpFile(host, size) {
w && `desktopwidth:i:${w}`,
hgt && `desktopheight:i:${hgt}`,
'dynamic resolution:i:1',
// Im Tab keine Skalierung, damit die Auflösung beim Größenändern mitwächst
`smart sizing:i:${size ? 0 : 1}`,
// Standard: Auflösung folgt der Fenstergröße (Windows 8.1 / Server 2012 R2 und neuer). "smart sizing" würde stattdessen nur skalieren.
`smart sizing:i:${host.rdpResize === 'scale' ? 1 : 0}`,
'displayconnectionbar:i:0',
`redirectclipboard:i:${host.rdpClipboard === false ? 0 : 1}`,
`redirectdrives:i:${host.rdpDrives ? 1 : 0}`,
@@ -78,10 +78,11 @@ function freerdpArgs(host, size) {
const args = [`/v:${host.address}:${port}`, '/cert:tofu', '+auto-reconnect'];
if (host.username) args.push(`/u:${host.username}`);
if (host.domain) args.push(`/d:${host.domain}`);
if (size) args.push(`/size:${size.width}x${size.height}`, '/dynamic-resolution');
const resize = host.rdpResize === 'scale' ? '/smart-sizing' : '/dynamic-resolution';
if (size) args.push(`/size:${size.width}x${size.height}`, resize);
else if (host.rdpFullscreen) args.push('/f');
else if (host.rdpWidth && host.rdpHeight) args.push(`/size:${host.rdpWidth}x${host.rdpHeight}`);
else args.push('/dynamic-resolution');
else if (host.rdpWidth && host.rdpHeight) args.push(`/size:${host.rdpWidth}x${host.rdpHeight}`, resize);
else args.push(resize);
if (host.rdpClipboard !== false) args.push('+clipboard');
if (host.rdpDrives) args.push(`/drive:home,${os.homedir()}`);
if (host.rdpAudio !== false) args.push('/sound');