Add SFTP toggle button to SSH tabs and enable fullscreen support
- Added 📁 folder icon button on SSH tabs to toggle the SFTP file browser
- Button appears on hover/active, styled consistently with the close button
- Removed conflicting Cmd+Shift+F shortcut (clashes with macOS find)
- Added platform-specific window options (Mac, Windows, Linux)
- Added F11 fullscreen toggle and Escape to exit fullscreen
- Cleaned up SFTP panel on session close
This commit is contained in:
+13
-11
@@ -333,9 +333,22 @@ class App {
|
||||
return;
|
||||
}
|
||||
|
||||
// F11 — toggle fullscreen (Windows/Linux convention)
|
||||
if (e.key === 'F11') {
|
||||
e.preventDefault();
|
||||
if (window.runtime && typeof window.runtime.WindowFullscreen === 'function') {
|
||||
window.runtime.WindowFullscreen();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Escape — close any open overlays
|
||||
if (e.key === 'Escape') {
|
||||
this.commandPalette.close();
|
||||
// Also exit fullscreen if active (Windows/Linux)
|
||||
if (window.runtime && typeof window.runtime.WindowUnfullscreen === 'function') {
|
||||
window.runtime.WindowUnfullscreen();
|
||||
}
|
||||
}
|
||||
|
||||
// Ctrl/Cmd+Shift+D — split pane vertically (left/right)
|
||||
@@ -361,17 +374,6 @@ class App {
|
||||
return;
|
||||
}
|
||||
|
||||
// Ctrl/Cmd+Shift+F — toggle SFTP file browser on active SSH session
|
||||
if (mod && e.shiftKey && e.key === 'F') {
|
||||
e.preventDefault();
|
||||
if (this.state.activeSessionId) {
|
||||
var session = this.state.getSession(this.state.activeSessionId);
|
||||
if (session && session.protocol === 'ssh') {
|
||||
this.sftp.toggle(this.state.activeSessionId);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -418,6 +418,20 @@ class TabManager {
|
||||
tab.classList.add('tab-pinned');
|
||||
}
|
||||
|
||||
// SFTP toggle button (SSH sessions only)
|
||||
if (sessionInfo.protocol === 'ssh') {
|
||||
const sftpBtn = createElement('button', 'tab-sftp', {
|
||||
textContent: '📁',
|
||||
title: 'Toggle SFTP file browser',
|
||||
'aria-label': 'Toggle SFTP',
|
||||
});
|
||||
sftpBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
this.app.sftp.toggle(sessionInfo.id);
|
||||
});
|
||||
tab.appendChild(sftpBtn);
|
||||
}
|
||||
|
||||
// Close button
|
||||
const closeBtn = createElement('button', 'tab-close', {
|
||||
textContent: '×',
|
||||
|
||||
Reference in New Issue
Block a user