mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-01-03 15:27:26 -08:00
34 lines
737 B
Go
34 lines
737 B
Go
|
//go:build !darwin && !windows
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"encoding/csv"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
func (s *spotify) enabled() bool {
|
||
|
if !s.env.isWsl() {
|
||
|
return false
|
||
|
}
|
||
|
tlist, err := s.env.runCommand("tasklist.exe", "/V", "/FI", "Imagename eq Spotify.exe", "/FO", "CSV", "/NH")
|
||
|
if err != nil || strings.HasPrefix(tlist, "INFO") {
|
||
|
return false
|
||
|
}
|
||
|
records, err := csv.NewReader(strings.NewReader(tlist)).ReadAll()
|
||
|
if err != nil || len(records) == 0 {
|
||
|
return false
|
||
|
}
|
||
|
for _, record := range records {
|
||
|
title := record[len(record)-1]
|
||
|
if strings.Contains(title, " - ") {
|
||
|
infos := strings.Split(title, " - ")
|
||
|
s.artist = infos[0]
|
||
|
s.track = strings.Join(infos[1:], " - ")
|
||
|
s.status = "playing"
|
||
|
return true
|
||
|
}
|
||
|
}
|
||
|
return false
|
||
|
}
|