build JSON string instead of json.Marshal-ing
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is failing
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	continuous-integration/drone/push Build is failing
				
			not that this was a problem, but the output is simple enough to just create it by hand.
This commit is contained in:
		
							parent
							
								
									c235dd60dd
								
							
						
					
					
						commit
						a2164b0173
					
				
							
								
								
									
										37
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								main.go
									
									
									
									
									
								
							| @ -1,7 +1,6 @@ | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"log" | ||||
| @ -43,12 +42,13 @@ var ( | ||||
| 
 | ||||
| // JSON returns json for waybar to consume.
 | ||||
| func playerJSON(p *mpris2.Player) string { | ||||
| 	data := map[string]string{} | ||||
| 	symbol := PLAY | ||||
| 	data["class"] = "paused" | ||||
| 	out := "{\"class\": \"" | ||||
| 	if p.Playing { | ||||
| 		symbol = PAUSE | ||||
| 		data["class"] = "playing" | ||||
| 		out += "playing" | ||||
| 	} else { | ||||
| 		out += "paused" | ||||
| 	} | ||||
| 	var pos string | ||||
| 	if SHOW_POS { | ||||
| @ -96,21 +96,23 @@ func playerJSON(p *mpris2.Player) string { | ||||
| 		} | ||||
| 		text += v + right | ||||
| 	} | ||||
| 
 | ||||
| 	data["tooltip"] = fmt.Sprintf( | ||||
| 		"%s\nby %s\n", | ||||
| 	out += "\",\"text\":\"" + text + "\"," | ||||
| 	out += "\"tooltip\":\"" + fmt.Sprintf( | ||||
| 		"%s\\nby %s\\n", | ||||
| 		strings.ReplaceAll(p.Title, "&", "&"), | ||||
| 		strings.ReplaceAll(p.Artist, "&", "&")) | ||||
| 		strings.ReplaceAll(p.Artist, "&", "&"), | ||||
| 	) | ||||
| 	if p.Album != "" { | ||||
| 		data["tooltip"] += "from " + strings.ReplaceAll(p.Album, "&", "&") + "\n" | ||||
| 		out += "from " + strings.ReplaceAll(p.Album, "&", "&") + "\\n" | ||||
| 	} | ||||
| 	data["tooltip"] += "(" + p.Name + ")" | ||||
| 	data["text"] = text | ||||
| 	out, err := json.Marshal(data) | ||||
| 	if err != nil { | ||||
| 		return "{}" | ||||
| 	} | ||||
| 	return string(out) | ||||
| 	out += "(" + p.Name + ")\"}" | ||||
| 	return out | ||||
| 	// return fmt.Sprintf("{\"class\":\"%s\",\"text\":\"%s\",\"tooltip\":\"%s\"}", data["class"], data["text"], data["tooltip"])
 | ||||
| 	// out, err := json.Marshal(data)
 | ||||
| 	// if err != nil {
 | ||||
| 	// 	return "{}"
 | ||||
| 	// }
 | ||||
| 	// return string(out)
 | ||||
| } | ||||
| 
 | ||||
| type players struct { | ||||
| @ -204,10 +206,11 @@ func duplicateOutput(conn net.Conn) { | ||||
| 						return | ||||
| 					} | ||||
| 					str := string(l) | ||||
| 					// Trim extra newline is necessary
 | ||||
| 					if str[len(str)-2:] == "\n\n" { | ||||
| 						fmt.Print(str[:len(str)-1]) | ||||
| 					} else { | ||||
| 						fmt.Print(string(l)) | ||||
| 						fmt.Print(str) | ||||
| 					} | ||||
| 					f.Seek(0, 0) | ||||
| 				} | ||||
|  | ||||
							
								
								
									
										
											BIN
										
									
								
								waybar-mpris
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								waybar-mpris
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user