32 lines
1.1 KiB
Ruby
Executable file
32 lines
1.1 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
# Modified from original ff2mpv to use floaty-mpv instead of
|
|
# standard mpv.
|
|
|
|
require "json"
|
|
|
|
len = $stdin.read(4).unpack1("L")
|
|
data = JSON.parse($stdin.read(len))
|
|
url = data["url"]
|
|
|
|
args = %w[--no-terminal]
|
|
|
|
# HACK(ww): On macOS, graphical applications inherit their path from `launchd`
|
|
# rather than the default path list in `/etc/paths`. `launchd` doesn't include
|
|
# `/usr/local/bin` in its default list, which means that any installations
|
|
# of MPV and/or youtube-dl under that prefix aren't visible when spawning
|
|
# from, say, Firefox. The real fix is to modify `launchd.conf`, but that's
|
|
# invasive and maybe not what users want in the general case.
|
|
# Hence this nasty hack.
|
|
# ENV["PATH"] = "/usr/local/bin:#{ENV['PATH']}" if RUBY_PLATFORM =~ /darwin/
|
|
|
|
pid = nil
|
|
|
|
if (/darwin/ =~ RUBY_PLATFORM) != nil then
|
|
pid = spawn "/Users/flurry/bin/iinado", url, in: :close, out: :close, err: :close
|
|
else
|
|
pid = spawn "/home/flurry/bin/floaty-mpv", url, in: :close, out: "/dev/null", err: "/home/flurry/.tmp/fmpv.log"
|
|
end
|
|
|
|
Process.detach pid
|