diff --git a/main.go b/main.go index b5c015f..457923f 100644 --- a/main.go +++ b/main.go @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Unrud + * Copyright (c) 2018-2019 Unrud * * This file is part of Remote-Touchpad. * @@ -46,6 +46,7 @@ const ( challengeLength int = 8 defaultBind string = ":0" version string = "0.0.13" + pretty_app_name string = "Remote Touchpad" ) func processCommand(backend Backend, command string) error { @@ -139,6 +140,7 @@ func secureRandBase64(length int) string { } func main() { + TerminalSetTitle(pretty_app_name) var bind, certFile, keyFile, secret string var showVersion bool parseFlags := flag.NewFlagSet(os.Args[0], flag.ContinueOnError) diff --git a/terminal_color.go b/terminal.go similarity index 100% rename from terminal_color.go rename to terminal.go diff --git a/terminal_color_posix.go b/terminal_posix.go similarity index 77% rename from terminal_color_posix.go rename to terminal_posix.go index 9230d71..1e5ad90 100644 --- a/terminal_color_posix.go +++ b/terminal_posix.go @@ -1,7 +1,7 @@ // +build !windows /* - * Copyright (c) 2018 Unrud + * Copyright (c) 2018-2019 Unrud * * This file is part of Remote-Touchpad. * @@ -23,7 +23,17 @@ package main // #include import "C" +import "os" func TerminalSupportsColor(fd uintptr) bool { return C.isatty(C.int(fd)) != 0 } + +func TerminalSetTitle(title string) bool { + if C.isatty(C.int(os.Stdout.Fd())) != 0 { + os.Stdout.Write([]byte("\x1b]2;" + title + "\x07")) + os.Stdout.Sync() + return true + } + return false +} diff --git a/terminal_color_windows.go b/terminal_windows.go similarity index 72% rename from terminal_color_windows.go rename to terminal_windows.go index a3dbf42..22c0c3e 100644 --- a/terminal_color_windows.go +++ b/terminal_windows.go @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Unrud + * Copyright (c) 2018-2019 Unrud * * This file is part of Remote-Touchpad. * @@ -19,7 +19,10 @@ package main -import "syscall" +import ( + "syscall" + "unsafe" +) const ( enableProcessedOuput uint32 = 0x1 @@ -28,8 +31,9 @@ const ( ) var ( - kernel32DLL = syscall.NewLazyDLL("kernel32.dll") - setConsoleModeProc = kernel32DLL.NewProc("SetConsoleMode") + kernel32DLL = syscall.NewLazyDLL("kernel32.dll") + setConsoleModeProc = kernel32DLL.NewProc("SetConsoleMode") + setConsoleTitleProc = kernel32DLL.NewProc("SetConsoleTitleW") ) func TerminalSupportsColor(fd uintptr) bool { @@ -37,3 +41,9 @@ func TerminalSupportsColor(fd uintptr) bool { enableWrapAtEolOutput|enableVirtualTerminalProcessing)) return r != 0 } + +func TerminalSetTitle(title string) bool { + r, _, _ := setConsoleTitleProc.Call( + uintptr(unsafe.Pointer(syscall.StringToUTF16Ptr(title)))) + return r != 0 +}