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 ]], }