summary refs log tree commit diff
path: root/mixins/multimedia.nix
diff options
context:
space:
mode:
authortzlil <tzlils@protonmail.com>2023-08-24 19:17:56 +0300
committertzlil <tzlils@protonmail.com>2023-08-24 19:17:56 +0300
commit84ce2ad9126ad41958dc2e7492d989c7c63acf08 (patch)
treedaaa7b5a88b26c882b225523e01be27275096aee /mixins/multimedia.nix
parent6197695dfb24f1ae3269359fb9e189b24fdd86a3 (diff)
uhhh work a bit on firefox and add yank to mpv
Diffstat (limited to 'mixins/multimedia.nix')
-rw-r--r--mixins/multimedia.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/mixins/multimedia.nix b/mixins/multimedia.nix
index 11a48d5..19528c7 100644
--- a/mixins/multimedia.nix
+++ b/mixins/multimedia.nix
@@ -54,6 +54,22 @@
           screenshot-template = "%F - [%P]v%#01n";
           ytdl-format = "bestvideo[height<=?1080]+bestaudio/best";
         };
+        bindings = {
+          # yank video link
+          "Shift+Y" = "run ${pkgs.writeShellScript "yank-mpv" "
+          ${pkgs.wl-clipboard}/bin/wl-copy $1"
+          } \${path}";
+          # yank video link with timestamp
+          "Ctrl+y" = "run ${pkgs.writeShellScript "yank-mpv-timestamp" "
+          url=$1
+          if [[ $url = *youtube.com* || $url = *youtu.be* || $url = *twitch.tv* ]]; then
+              timepos=\${2%.*}
+              url+=$([[ $1 = *\?* ]] && echo \\& || echo \\?)t=$(( timepos / 3600 ))h$(( timepos / 60 ))m$(( timepos % 60 ))s
+          fi
+
+          ${pkgs.wl-clipboard}/bin/wl-copy $url
+          "} \${path} \${=time-pos}";
+        };
       };
       zathura = {
         enable = true;