Commit Graph

29 Commits

Author SHA1 Message Date
Harvey Tindall 8340ef1f20
always return the expected number of bytes written
continuous-integration/drone/push Build is passing Details
emptyEveryWrite was returning the wrong number, so it ignores the real
value and just returns the expected value (len(bytes in)). For #4 again.
2021-05-24 14:51:21 +01:00
Harvey Tindall fe851278f4
change order of writers in io.Multiwriter
continuous-integration/drone/push Build is passing Details
io.MultiWriter (i think) thinks dataWrite.Write fails, and so doesn't
continue writing to all other outputs. This just makes it the last one,
should fix #4.
2021-05-21 16:03:33 +01:00
Harvey Tindall 49b3212c48
support multiple instances with different layouts
continuous-integration/drone/push Build is passing Details
if specified layout for nth instance is different than 1st, the player data is
    shared instead of the waybar output.
2021-05-17 16:10:14 +01:00
Harvey Tindall ea4f47a1b1
only share output when args are identical; use fixed length socket
commands

fixed length commands were originally a guess for an issue I was having,
but it's cleaner this way anyway.
2021-05-17 13:44:24 +01:00
Harvey Tindall 51c7a983a0
add PLAYER to --order, remove binary from repo
continuous-integration/drone/push Build is passing Details
also added more prominent download links to the readme.
2021-05-16 23:28:23 +01:00
Harvey Tindall 3aec82c40c
fix upload.py args for new version
continuous-integration/drone/push Build is passing Details
2021-04-24 18:03:03 +01:00
Harvey Tindall a2164b0173
build JSON string instead of json.Marshal-ing
continuous-integration/drone/push Build is failing Details
not that this was a problem, but the output is simple enough to
just create it by hand.
2021-04-24 16:37:44 +01:00
Harvey Tindall c235dd60dd
overwrite previous content when sharing output
this way /tmp/waybar-mpris.out won't get filled up.
2021-04-24 16:02:39 +01:00
Harvey Tindall 937769e2f7
use external mpris2client lib
now at github.com/hrfee/mpris2client.
2021-01-08 00:54:34 +00:00
Harvey Tindall bcd2a83dd9
move mpris2 component to separate module
I'll likely put it in a different repo as i'm thinking of writing a last.fm scrobbler and it'd be reused there.
2021-01-07 16:10:20 +00:00
Harvey Tindall af0af02059
add some comments and change identifier names 2020-12-15 20:44:03 +00:00
Harvey Tindall 9b02fc2851
print clone message to stderr
any non-json output at all seems to break waybar now, so this avoids it.
2020-11-26 19:11:38 +00:00
Harvey Tindall a84ae6bd5b
fix help output 2020-11-16 21:59:31 +00:00
Harvey Tindall 78ce37db9f
Run multiple instances by attaching to original
Fixes #1. When another instance is detected, a command is sent over the
socket for the original to write to stdout and to a temporary file, which is then
tailed by the new instance. Can be overridden with --replace.
2020-09-28 23:48:51 +01:00
Harvey Tindall b97a950582
add optional position interpolation, escape ampersands
added --interpolate which will increment the track position if there
hasnt been a change after a second. Kinda buggy, so disabled by default.
Ampersands are escaped in the tooltip.
2020-09-14 16:14:30 +01:00
Harvey Tindall 018e3ce34e
fix crash when tracklength not available 2020-09-11 21:24:11 +01:00
Harvey Tindall 8343e713fe
remove socket on exit; fix --position crash 2020-09-06 13:13:36 +01:00
Harvey Tindall 6ed1eb428f
log to /tmp/waybar-mpris.log 2020-08-31 20:37:23 +01:00
Harvey Tindall f4090c1f07
ask before removing existing socket
automatically removes the socket after 5 seconds of no input so that its
functions headlessly.
2020-08-31 20:14:14 +01:00
Harvey Tindall 3918d2f30e
ignore player-next/prev if only one player avavilable
stops the tooltip from flickering.
2020-08-28 21:57:54 +01:00
Harvey Tindall 315b3df656
add list command for debug
responds with the current list of players and some info, to be used for debugging
purposes
2020-08-27 20:26:01 +01:00
Harvey Tindall 8177e5dec9
optionally display track position
with the --position flag, the position is grabbed every second and
outputted. Nothing else is refreshed.
2020-08-26 22:10:36 +01:00
Harvey Tindall 25f40dc9e0
ignore playerctld
playerctld displays and controls other players, so including it is
pointless.
2020-08-25 14:40:56 +01:00
Harvey Tindall 623adf487e
display browser name in tooltip
reads /proc/<pid>/cmdline directly instead of using a library.
2020-08-23 16:25:27 +01:00
Harvey Tindall 74015e43a3
remote control via unix sockets
waybar-mpris --send will send commands to a currently running
waybar-mpris instance. Players can be switched between and controlled
individually. Also added gifs, more stuff to README.
2020-08-22 19:01:51 +01:00
Harvey Tindall 54dcac02e6
Add flags, executable and improve README.md 2020-08-22 15:40:24 +01:00
Harvey Tindall 5020e1c929
fix halt when player is removed
rewritten without goroutines or checking if processes exist and it seems
to work much better now.
2020-08-22 14:39:23 +01:00
Harvey Tindall 3cf3f910ca
add players as detected, switch to currently playing player on state
change.
2020-08-21 15:44:59 +01:00
Harvey Tindall 461d87b8c9
first 2020-08-21 14:54:32 +01:00