3 Commits
0.1.7 ... 0.1.8

Author SHA1 Message Date
Ultra Desu
cd854d450a Fix files. 2019-12-19 00:03:15 +03:00
Ultra Desu
7a934a063f Fix player metadata shorting. 2019-12-19 00:02:33 +03:00
Alexandr Bogomyakov
08cf01ee81 Add multiplayer support. 2019-12-17 15:10:31 +03:00

View File

@@ -78,7 +78,6 @@ fn get_player() -> Result<Vec<String>, Box<dyn std::error::Error>> {
for name in names { for name in names {
if name.contains("org.mpris.MediaPlayer2") { if name.contains("org.mpris.MediaPlayer2") {
players.push(name); players.push(name);
//println!("{}", name);
} }
} }
@@ -166,22 +165,49 @@ fn main() {
"-mb" => mem_load_bar(15), "-mb" => mem_load_bar(15),
"-p" => match player_info(get_player().unwrap()) { "-p" => match player_info(get_player().unwrap()) {
Ok(mut track_info) => { Ok(mut track_info) => {
let title_len = 30; let mut title_len = 30;
let artist_len = 30; let mut artist_len = 30;
if track_info.title.len() >= title_len { let mut separator: String = " - ".to_string();
track_info.title.truncate(title_len); let max_shift = 6;
track_info.title.push_str(".."); if title_len + max_shift >= track_info.title.chars().count() {
title_len = track_info.title.chars().count()
} }
println!("{}, {}", track_info.artist, track_info.artist.len()); if track_info.title.len() > title_len {
if track_info.artist.len() >= artist_len { let mut title: String = String::new();
track_info.artist.truncate(artist_len); let mut counter = 0;
track_info.artist.push_str(".."); for ch in track_info.title.chars() {
if counter == title_len {
break;
}
title.push(ch);
counter += 1;
}
title.push_str("..");
track_info.title = title;
}
if artist_len + max_shift >= track_info.artist.chars().count() {
artist_len = track_info.artist.chars().count()
}
if track_info.artist.chars().count() == 0 {separator = "".to_string()}
if track_info.artist.len() > artist_len {
let mut artist: String = String::new();
let mut counter = 0;
for ch in track_info.artist.chars() {
if counter == artist_len {
break;
}
artist.push(ch);
counter += 1;
}
artist.push_str("..");
track_info.artist = artist;
} }
println!( println!(
"#[none]#[bold]{}{}{}#[none]{} - {}{} {}[{}/{}] {} {}", "#[none]#[bold]{}{}{}#[none]{}{}{}{} {}[{}/{}] {} {}",
TRACK_NAME, TRACK_NAME,
track_info.title, track_info.title,
END, END,
separator,
TRACK_ARTIST, TRACK_ARTIST,
track_info.artist, track_info.artist,
END, END,