From 0bd150185551b6d8835d022c15a5f6e832d51113 Mon Sep 17 00:00:00 2001 From: venomade Date: Wed, 11 Feb 2026 11:42:58 +0000 Subject: Asahi Soft reset of dotfiles specific to Asahi, Sway and Neovim. --- .config/luastatus/playerctl.lua | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .config/luastatus/playerctl.lua (limited to '.config/luastatus/playerctl.lua') diff --git a/.config/luastatus/playerctl.lua b/.config/luastatus/playerctl.lua new file mode 100644 index 0000000..a3e743c --- /dev/null +++ b/.config/luastatus/playerctl.lua @@ -0,0 +1,43 @@ +local player = 'jellyfin-tui' + +widget = { + plugin = 'timer', + opts = { period = 2 }, + cb = function() + + local handle = io.popen('playerctl -p ' .. player .. ' status') + local playerctl_status = string.sub(handle:read("*a"), 1, -2) + handle:close() + + local symbol = '󰏤' + + if (playerctl_status == 'Playing') or (playerctl_status == 'Paused') then + local handle = io.popen('playerctl -p ' .. player ..' metadata title') + local playerctl_title = string.sub(handle:read("*a"), 1, -2) + handle:close() + + local handle = io.popen('playerctl -p ' .. player .. ' metadata artist') + local playerctl_artist = string.sub(handle:read("*a"), 1, -2) + handle:close() + + if playerctl_status == 'Playing' then + symbol = '󰐊' + end + + return { + { full_text = string.format('%s - %s %s', playerctl_artist, playerctl_title, symbol), color = "#f2cdcd" } + } + end + + return { + { full_text = " "} + } + end, + -- TODO: Figure out if this can stop being hardcoded + event = [[ + local t = ... + if t.button == 1 then + os.execute('playerctl -p jellyfin-tui play-pause') + end + ]], +} -- cgit 1.4.1-2-gfad0