package main import ( "encoding/base64" "fmt" "os" "os/exec" "runtime" "strings" ) func IndexOf(candidate string, arr []string) int { for index, element := range arr { if element == candidate { return index } } return -1 } func SetTermTitle(name string) { fmt.Printf("\033]0;gtt - %s\007", name) } func CopyToClipboard(text string) { if uiStyle.OSC52 { fmt.Printf("\033]52;c;%s\a", base64.StdEncoding.EncodeToString([]byte(text))) return } var cmd *exec.Cmd switch runtime.GOOS { case "linux": switch os.Getenv("XDG_SESSION_TYPE") { case "x11": cmd = exec.Command("xclip", "-selection", "clipboard") case "wayland": cmd = exec.Command("wl-copy") } case "darwin": cmd = exec.Command("pbcopy") case "windows": cmd = exec.Command("clip") } cmd.Stdin = strings.NewReader(text) cmd.Start() }