diff --git a/bin/spotify_meta.sh b/bin/spotify_meta.sh index e54d1bd..7f4279b 100755 --- a/bin/spotify_meta.sh +++ b/bin/spotify_meta.sh @@ -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 diff --git a/home-manager/waybar.css b/home-manager/waybar.css index ce96472..6624700 100644 --- a/home-manager/waybar.css +++ b/home-manager/waybar.css @@ -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; } diff --git a/home-manager/waybar.toml b/home-manager/waybar.toml index 1583c44..fb80c0e 100644 --- a/home-manager/waybar.toml +++ b/home-manager/waybar.toml @@ -27,7 +27,7 @@ format = '{}' 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" diff --git a/pkgs/default.nix b/pkgs/default.nix index d70ae43..ea5116a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -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 ]; + }); }) diff --git a/pkgs/playerctl-solid-emoji.diff b/pkgs/playerctl-solid-emoji.diff new file mode 100644 index 0000000..52f8621 --- /dev/null +++ b/pkgs/playerctl-solid-emoji.diff @@ -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);