Commit Graph

32 Commits

Author SHA1 Message Date
Harvey Tindall 485ec0ec0a
escape double quotes
continuous-integration/drone/push Build is failing Details
2022-01-27 18:00:49 +00:00
Harvey Tindall 39f84a94ac
write connection refused error to stderr
continuous-integration/drone/push Build is passing Details
2022-01-24 14:30:38 +00:00
Harvey Tindall 4b71fa248a
Truncate file when directly sharing
continuous-integration/drone/push Build is passing Details
Fixes bug where recipient instance would have a bit of the previous
track data on the end of the output if the previous track data was
longer, which effectively froze the output on waybar as it was no longer
valid JSON.
2021-10-29 15:10:53 +01:00
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