tShow an animation instead of a long URI when no tags - spoon - dwm status utility (2f30 fork) (HTM) git clone git://src.adamsgaard.dk/spoon (DIR) Log (DIR) Files (DIR) Refs (DIR) LICENSE --- (DIR) commit cb6af3adecc068b161a43a20103221498a228bcf (DIR) parent 34037d775918f2fcb5f0efc395cf786da46bd79e (HTM) Author: lostd <lostd@2f30.org> Date: Wed, 2 Nov 2016 16:43:35 +0000 Show an animation instead of a long URI when no tags Diffstat: M mpd.c | 18 +++++++++++------- M spoon.c | 2 +- M util.h | 2 ++ 3 files changed, 14 insertions(+), 8 deletions(-) --- (DIR) diff --git a/mpd.c b/mpd.c t@@ -6,13 +6,22 @@ #include "types.h" #include "util.h" +char *anim[] = { + "!!.|.", + "|!.!.", + "!.!!.", + "!!|.!", + ".!!|!", +}; + int mpdread(void *arg, char *buf, size_t len) { static struct mpd_connection *conn; struct mpd_song *song; - const char *artist, *title, *name; + const char *artist, *title; struct mpdarg *mpdarg = arg; + static int frame = 0; if (conn == NULL) { conn = mpd_connection_new(mpdarg->host, mpdarg->port, 0); t@@ -36,12 +45,7 @@ mpdread(void *arg, char *buf, size_t len) } else if (title != NULL) { strlcpy(buf, title, len); } else { - name = mpd_song_get_uri(song); - if (name == NULL) { - mpd_song_free(song); - goto out; - } - strlcpy(buf, name, len); + strlcpy(buf, anim[frame++ % LEN(anim)], len); } mpd_song_free(song); if (!mpd_response_finish(conn)) (DIR) diff --git a/spoon.c b/spoon.c t@@ -5,7 +5,7 @@ #include <X11/Xlib.h> -#define LEN(x) (sizeof (x) / sizeof *(x)) +#include "util.h" int battread(void *, char *, size_t); int cpuread(void *, char *, size_t); (DIR) diff --git a/util.h b/util.h t@@ -3,6 +3,8 @@ size_t strlcat(char *, const char *, size_t); #undef strlcpy size_t strlcpy(char *, const char *, size_t); +#define LEN(x) (sizeof (x) / sizeof *(x)) + #ifdef DEBUG #define DPRINTF_S(x) printf(#x "=%s\n", x) #define DPRINTF_U(x) printf(#x "=%u\n", x)