;;; acdw-ytel.el --- bespoke functions for ytel -*- lexical-binding: t -*- ;;; Commentary: ;; Extra code for the ytel package: ;; https://github.com/gRastello/ytel ;;; Code: (require 'ytel) (defun acdw/ytel-current-video-link () "Get the link of the video at point." (let* ((video (ytel-get-current-video)) (id (ytel-video-id video))) (concat "https://www.youtube.com/watch?v=" id))) (defun acdw/ytel-watch () ; This could possibly use `browse-url'. "Stream video at point in mpv." (interactive) (start-process "ytel mpv" nil "mpv" (acdw/ytel-current-video-link) "--ytdl-format=bestvideo[height<=?720]+bestaudio/best") (message "Starting streaming...")) (defun acdw/ytel-copy-link () "Copy link of the video at point." (interactive) (let ((link (acdw/ytel-current-video-link))) (kill-new link) (message "Copied %s to kill-ring" link))) (provide 'acdw-ytel) ;;; acdw-ytel.el ends here