- 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
57 lines
1.7 KiB
Go
57 lines
1.7 KiB
Go
// 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)
|
||
}
|
||
}
|