[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#73538: [PATCH] Add notifications support to 'mpc'
From: |
Stefan Monnier |
Subject: |
bug#73538: [PATCH] Add notifications support to 'mpc' |
Date: |
Fri, 04 Oct 2024 09:42:37 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>>> This adds support for displaying a notification when the song changes.
>> Oh, wow! A patch for `mpc.el`! Thanks!
> I hope you won’t mind a few more.
🙂
>>> + (when-let (((string= "play" (alist-get 'state mpc-status)))
>>> + (title (or (alist-get 'Title mpc-status) "Unknown Title"))
>>> + (body (or (alist-get 'Artist mpc-status)
>>> + (alist-get 'AlbumArtist mpc-status)
>>> + "Unknown Artist"))
>>
>> Comment: I think it would make sense to use `mpc-format` here with
>> Custom vars to specify what goes in the title and body.
>
> What do you think the custom vars should look like?
> Would it be a FORMAT-SPEC like “%{title} %5{duration}” or something else?
I don't have a strong opinion on what the default format should look like.
> How would it handle the case where you want to try different tags like
> “use Artist or AlbumArtist”?
Ah... Hmm... good point. We don't support that currently in
`mpc-format`. Maybe we should add support for this (and take the
opportunity to actually document the % thingies understood by `mpc-format`).
Currently, the main format is `%WIDTH{NAME-POST}` where `-POST` is
optional, and it means to use the empty string if NAME is absent or
else use the concatenation of the content of NAME with the string POST.
Currently `-POST` is used only for `%{Disc--}`.
Maybe we should simply extend that to something like `%{NAME1|NAME2|...-POST}`?
Not sure whether it's worth adding support for a "default string", nor
what format we could use for that. Maybe simply make it so that if
there's a | then the last element is not a tag name but a literal string
to use, so we could use:
%{Artist|AlbumArtist|Unknown Artist}
Of course we could combine the two into something like
`%{NAME-POST+DEFAULT}` where DEFAULT would be recursively parsed as
a format string so we could do
%{Artist+%{AlbumArtist+Unknown Artist}}
but I think this is getting too fancy for my taste (at that point, an
S-exp based format would start looking pretty attractive).
Stefan
bug#73538: [PATCH] Add notifications support to 'mpc', Stefan Monnier, 2024/10/17