Files
nexus/main.go
T
andy d5d0a5c27a 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
2026-04-16 00:00:00 +01:00

57 lines
1.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Nexus Terminal – a desktop SSH, Telnet and RAW TCP client built with Wails v2.
// This is the main entry point for the application.
package main
import (
"log"
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
"github.com/wailsapp/wails/v2/pkg/options/linux"
"github.com/wailsapp/wails/v2/pkg/options/mac"
"github.com/wailsapp/wails/v2/pkg/options/windows"
application "github.com/copilot-ssh-client/app/internal/app"
"github.com/copilot-ssh-client/app/frontend"
)
func main() {
nexus := application.NewApp()
// The API service is created during Startup once storage is initialised.
// We bind the App itself so Wails can call lifecycle hooks, and use
// OnStartup to wire everything, then bind the API service separately.
err := wails.Run(&options.App{
Title: "Nexus Terminal",
Width: 1400,
Height: 900,
MinWidth: 1024,
MinHeight: 600,
AssetServer: &assetserver.Options{
Assets: frontend.Assets,
},
BackgroundColour: &options.RGBA{R: 26, G: 26, B: 46, A: 255}, // #1a1a2e
OnStartup: nexus.Startup,
OnShutdown: nexus.Shutdown,
OnDomReady: nexus.DomReady,
// macOS: enable the green fullscreen traffic-light button.
Mac: &mac.Options{
About: &mac.AboutInfo{
Title: "Nexus Terminal",
Message: "A premium desktop terminal client",
},
},
// Windows: default decorations include maximise; fullscreen via F11.
Windows: &windows.Options{},
// Linux: use the default window manager decorations (fullscreen via WM).
Linux: &linux.Options{},
Bind: []interface{}{
nexus.APIService(),
},
})
if err != nil {
log.Fatalf("failed to start Nexus Terminal: %v", err)
}
}