diff options
| author | Yuchen Pei <id@ypei.org> | 2025-01-17 09:48:03 +1100 | 
|---|---|---|
| committer | Yuchen Pei <id@ypei.org> | 2025-01-17 09:48:03 +1100 | 
| commit | ddb5b07e1e43c7b44877bae9d786dbb80ca95311 (patch) | |
| tree | 9b1dc12efc8913dcacd8ff62f1624fc02507a1a1 /emacs/.emacs.d/lisp/my/my-ytdl.el | |
| parent | e7d07c825a29621cd1be7d787d5e1565bc3d3513 (diff) | |
[emacs] Adding buttons to infobox
Diffstat (limited to 'emacs/.emacs.d/lisp/my/my-ytdl.el')
| -rw-r--r-- | emacs/.emacs.d/lisp/my/my-ytdl.el | 23 | 
1 files changed, 17 insertions, 6 deletions
| diff --git a/emacs/.emacs.d/lisp/my/my-ytdl.el b/emacs/.emacs.d/lisp/my/my-ytdl.el index 2811793..bf917ce 100644 --- a/emacs/.emacs.d/lisp/my/my-ytdl.el +++ b/emacs/.emacs.d/lisp/my/my-ytdl.el @@ -94,14 +94,25 @@               (string-match-p "^/watch\\?v=.*" (url-filename urlobj)))          (equal "youtu.be" (url-host urlobj))))) +(require 'hmm) +(defvar my-ytdl-player 'hmm-external-mpv "Function to play ytdl urls.") + +(defun my-ytdl-video-render-info (info url) +  (setf (alist-get 'webpage_url info) +        (concat (alist-get 'webpage_url info) +                " -- " (buttonize "play" (lambda (_) +                                           (funcall my-ytdl-player url))) +                " " (buttonize "context" +                               (lambda (_) +                                 (funcall my-url-context-function url))))) +  (infobox-render +   (infobox-translate info (infobox-default-specs info)) +   `(my-ytdl-video-infobox ,url) +   (called-interactively-p 'interactive))) +  (defun my-ytdl-video-infobox (url)    (interactive "sytdl video url: ") -  (let* ((info (my-ytdl-video-info url)) -         (specs (infobox-default-specs info))) -    (infobox-render -     (infobox-translate info specs) -     `(my-ytdl-video-infobox ,url) -     (called-interactively-p 'interactive)))) +  (my-ytdl-video-render-info (my-ytdl-video-info url) url))  ;;; fixme: autoload  (defun my-ytdl-video (urls) | 
