From 3fa20bde85dcd505aa705c883a3f252b5fd52532 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Sat, 7 Oct 2023 10:24:28 +0300 Subject: [feature] yeetube-browse-url: Open url using an invidious instance. Function to browse video URL at point, using an invidious instance. --- yeetube.el | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/yeetube.el b/yeetube.el index 566bb30..cd5ed4b 100644 --- a/yeetube.el +++ b/yeetube.el @@ -174,9 +174,13 @@ WHERE indicates where in the buffer the update should happen." (yeetube-buffer-create query yeetube-content 'yeetube-mode))) (defun yeetube-browse-url () - "Open URL in browser." + "Open URL for video at point, using an invidious instance." (interactive) - (browse-url (yeetube-get-url))) + (let ((invidious-instance (+ 1 (random (length yeetube-invidious-instances))))) + (browse-url + (replace-regexp-in-string "youtube.com" + (nth invidious-instance yeetube-invidious-instances) + (yeetube-get-url))))) (defun yeetube-get-item (query) "Get item from youtube results for QUERY. @@ -278,6 +282,7 @@ prompt blank to keep the default name." ;; Yeetube Mode (defvar yeetube-mode-map (make-sparse-keymap)) (define-key yeetube-mode-map (kbd "RET") #'yeetube-play) +(define-key yeetube-mode-map (kbd "b") #'yeetube-browse-url) (define-key yeetube-mode-map (kbd "d") #'yeetube-download-video) (define-key yeetube-mode-map (kbd "D") #'yeetube-download-change-directory) (define-key yeetube-mode-map (kbd "a") #'yeetube-download-change-audio-format) -- cgit v1.2.3