various waybar fixes (fix playerctl emojis)

auto-flake-update
Yorick van Pelt 2022-04-12 15:52:30 +02:00
parent e0ee6c7eb9
commit b33b442229
Signed by: yorick
GPG Key ID: A36E70F9DC014A15
5 changed files with 43 additions and 5 deletions

View File

@ -1,3 +1,3 @@
#!/bin/sh
#Spotify
exec playerctl metadata -f '{{emoji(status)}} {{xesam:artist}} - {{xesam:title}}' -F
exec playerctl metadata -f '{{emoji(playerName)}} {{emoji(status)}} {{xesam:artist}} - {{xesam:title}}' -F

View File

@ -1,7 +1,7 @@
* {
border: none;
border-radius: 0;
font-family: Roboto, Helvetica, Arial, sans-serif;
font-family: Helvetica, "Font Awesome 5 Free", sans-serif;
font-size: 13px;
min-height: 0;
}

View File

@ -27,7 +27,7 @@ format = '<span style="italic">{}</span>'
spacing = 10
[clock]
format = "{:%Y-%m-%d %H:%M}"
format = "{:%a %d %b %H:%M}"
on-click = "xdg-open https://calendar.google.com"
[disk]
@ -59,14 +59,14 @@ on-click-right = "~/dotfiles/bin/btoggle.sh"
[pulseaudio.format-icons]
headphones = ""
handsfree = ""
headset = ""
headset = ""
phone = ""
portable = ""
car = ""
default = [ "", "" ]
["custom/spotify"]
format = "{}"
format = "{}"
escape = true
max-length = 40
on-click = "playerctl play-pause"

View File

@ -11,5 +11,8 @@
username = "yorickvp";
token = (import ../nixos/secrets.nix).factorio_token;
};
playerctl = super.playerctl.overrideAttrs (o: {
patches = (o.patches or []) ++ [ ./playerctl-solid-emoji.diff ];
});
})

View File

@ -0,0 +1,35 @@
diff --git a/playerctl/playerctl-formatter.c b/playerctl/playerctl-formatter.c
index caeb853..de6c589 100644
--- a/playerctl/playerctl-formatter.c
+++ b/playerctl/playerctl-formatter.c
@@ -596,11 +596,11 @@ static GVariant *helperfn_emoji(struct token *token, GVariant **args, int nargs,
if (pctl_parse_playback_status(status_str, &status)) {
switch (status) {
case PLAYERCTL_PLAYBACK_STATUS_PLAYING:
- return g_variant_new("s", "▶️");
+ return g_variant_new("s", "");
case PLAYERCTL_PLAYBACK_STATUS_STOPPED:
- return g_variant_new("s", "⏹️");
+ return g_variant_new("s", "");
case PLAYERCTL_PLAYBACK_STATUS_PAUSED:
- return g_variant_new("s", "⏸️");
+ return g_variant_new("s", "");
}
}
} else if (g_strcmp0(key, "volume") == 0 &&
@@ -613,6 +613,15 @@ static GVariant *helperfn_emoji(struct token *token, GVariant **args, int nargs,
} else {
return g_variant_new("s", "🔊");
}
+ } else if (g_strcmp0(key, "playerName") == 0 && g_variant_is_of_type(value, G_VARIANT_TYPE_STRING)) {
+ const gchar *playerName_str = g_variant_get_string(value, NULL);
+ if (g_strcmp0(playerName_str, "spotify") == 0) {
+ return g_variant_new("s", "");
+ } else if (g_strcmp0(playerName_str, "firefox") == 0) {
+ return g_variant_new("s", "");
+ } else if (g_strcmp0(playerName_str, "chromium") == 0) {
+ return g_variant_new("s", "");
+ }
}
g_variant_ref(value);