This commit is contained in:
Nyx 2025-03-07 23:05:49 -06:00
parent 660aa6cd7e
commit ebf8334929

18
np.pl
View file

@ -26,8 +26,8 @@ Define colors for messages:
Define format for now playing: Define format for now playing:
/set plugins.var.perl.np.format <format> /set plugins.var.perl.np.format <format>
\%title\%, \%artist\%, \%album\%, \%date\% in addition to text \%title\%, \%artist\%, \%album\% in addition to text
Default: \"\%title\% by \%artist\% from \%album\% (\%date\%)\" Default: \"\%title\% by \%artist\% from \%album\%\"
", '', 'start', ''); ", '', 'start', '');
@ -39,17 +39,16 @@ sub start {
my $output = "/me is now playing: "; my $output = "/me is now playing: ";
my %data = ( my %data = (
"title" => `mpc -f %title% | head -n 1`, "title" => `playerctl metadata title`,
"artist" =>`mpc -f %artist% | head -n 1`, "artist" =>`playerctl metadata artist`,
"album" => `mpc -f %album% | head -n 1`, "album" => `playerctl metadata album`,
"date" => `mpc -f %date% | head -n 1`
); );
chomp %data; chomp %data;
%data = addColor(\%data) unless weechat::config_get_plugin("use_color") eq "off"; %data = addColor(\%data) unless weechat::config_get_plugin("use_color") eq "off";
# Todo: Add ability to change foramt # Todo: Add ability to change foramt
$output .= $data{"title"}." by ".$data{"artist"}." from ".$data{"album"}." (".$data{"date"}.")"; $output .= $data{"title"}." by ".$data{"artist"}." from ".$data{"album"}."";
weechat::command(weechat::current_buffer, $output) weechat::command(weechat::current_buffer, $output)
} }
@ -65,19 +64,16 @@ sub addColor {
weechat::config_set_plugin("color.title", "lightmagenta") if weechat::config_get_plugin("color.title") eq ""; weechat::config_set_plugin("color.title", "lightmagenta") if weechat::config_get_plugin("color.title") eq "";
weechat::config_set_plugin("color.artist", "lightblue") if weechat::config_get_plugin("color.artist") eq ""; weechat::config_set_plugin("color.artist", "lightblue") if weechat::config_get_plugin("color.artist") eq "";
weechat::config_set_plugin("color.album", "lightgreen") if weechat::config_get_plugin("color.album") eq ""; weechat::config_set_plugin("color.album", "lightgreen") if weechat::config_get_plugin("color.album") eq "";
weechat::config_set_plugin("color.date", "yellow") if weechat::config_get_plugin("color.date") eq "";
# Convert to raw color codes # Convert to raw color codes
my $color_title = "\cC" . $color_table{(weechat::config_get_plugin("color.title"))}; my $color_title = "\cC" . $color_table{(weechat::config_get_plugin("color.title"))};
my $color_artist = "\cC" . $color_table{(weechat::config_get_plugin("color.artist"))}; my $color_artist = "\cC" . $color_table{(weechat::config_get_plugin("color.artist"))};
my $color_album = "\cC" . $color_table{(weechat::config_get_plugin("color.album"))}; my $color_album = "\cC" . $color_table{(weechat::config_get_plugin("color.album"))};
my $color_date = "\cC" . $color_table{(weechat::config_get_plugin("color.date"))};
my $reset_color = "\cC00"; my $reset_color = "\cC00";
return ( return (
"title" => $color_title.$_[0]{"title"}.$reset_color, "title" => $color_title.$_[0]{"title"}.$reset_color,
"artist" => $color_artist.$_[0]{"artist"}.$reset_color, "artist" => $color_artist.$_[0]{"artist"}.$reset_color,
"album" => $color_album.$_[0]{"album"}.$reset_color, "album" => $color_album.$_[0]{"album"}.$reset_color
"date" => $color_date.$_[0]{"date"}.$reset_color
) )
} }