diff --git a/.config/mpv/script-opt/pause_toggle.conf b/.config/mpv/script-opt/pause_toggle.conf new file mode 100644 index 00000000..8b1fe784 --- /dev/null +++ b/.config/mpv/script-opt/pause_toggle.conf @@ -0,0 +1 @@ +pause_toggle=\ diff --git a/.config/mpv/scripts/pause_toggle.lua b/.config/mpv/scripts/pause_toggle.lua new file mode 100644 index 00000000..a562972e --- /dev/null +++ b/.config/mpv/scripts/pause_toggle.lua @@ -0,0 +1,22 @@ +-- Adds an additional keybinding to pause an unpaused mpv + +local mp = require 'mp' +local utils = require 'mp.utils' +local msg = require 'mp.msg' + +local opts = { + + pause_toggle = "\\" + +} + +(require 'mp.options').read_options(opts, "pause_toggle") +-- main +-- keybind to toggle pause + +mp.add_key_binding(opts.pause_toggle, "pause_toggle", function() + if (mp.get_property('pause') == "no") then + mp.commandv('cycle', 'pause') + end +end) + diff --git a/.local/bin/pauseallmpv b/.local/bin/pauseallmpv index d1d35756..89bebbde 100755 --- a/.local/bin/pauseallmpv +++ b/.local/bin/pauseallmpv @@ -5,6 +5,8 @@ # every single one of them with one command! This is bound to super + shift + p # (with other things) by default and is used in some other places. -for i in $(ls /tmp/mpvsoc*); do - echo '{ "command": ["set_property", "pause", true] }' | socat - $i; -done + +# Sends a \ key to all mpv instances pausing with the pause_toggle.lua script + +pstree -p | grep "$TERMINAL.*{mpv}" | sed "s/.*$TERMINAL(\([0-9]*\)).*/\1/" | xargs -I @ xdotool search --pid @ | xargs -I % xdotool key --window % backslash +pgrep mpv | xargs -I @ xdotool search --pid @ | xargs -I % xdotool key --window % backslash