diff options
author | jao <jao@gnu.org> | 2022-02-09 05:34:21 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2022-02-09 05:34:21 +0000 |
commit | e5b6526056de4db90d4b6a7a682a4260c13021ac (patch) | |
tree | c8989ea1618d0df50af79bb598ae325cdccef593 | |
parent | fe33d38e009e1396973300919db102efe419e185 (diff) | |
download | elibs-e5b6526056de4db90d4b6a7a682a4260c13021ac.tar.gz elibs-e5b6526056de4db90d4b6a7a682a4260c13021ac.tar.bz2 |
despotify
-rw-r--r-- | attic/misc.org | 121 | ||||
-rw-r--r-- | init.org | 114 |
2 files changed, 127 insertions, 108 deletions
diff --git a/attic/misc.org b/attic/misc.org index 2cb0fce..c10b1c6 100644 --- a/attic/misc.org +++ b/attic/misc.org @@ -955,6 +955,108 @@ (add-hook 'notmuch-show-hook #'jao-notmuch--show-hidden-html)) #+end_src +* link-hint for w3m + #+begin_src emacs-lisp + (defun jao-link-hint--notmuch-next-url (&optional bound) + (link-hint--next-property 'w3m-href-anchor bound)) + + (defun jao-link-hint--notmuch-url-at-point () + (get-text-property (point) 'w3m-href-anchor)) + + (link-hint-define-type 'notmuch-w3m-url + :next #'jao-link-hint--notmuch-next-url + :at-point-p #'jao-link-hint--notmuch-url-at-point + :vars '(notmuch-show-mode) + :open #'browse-url + :open-multiple t + :copy #'kill-new) + + (push 'link-hint-notmuch-w3m-url link-hint-types) + + #+end_src +* spotify + Access to spotify uses packages tangled from [[./lib/media/espotify.org][espotify.org]], which + offers functionality tailored to the completion engines at hand: + #+begin_src emacs-lisp + (jao-load-path "espotify") + + (use-package espotify + :demand t + :init (setq espotify-service-name "mopidy")) + (use-package consult-spotify :demand t) + (defalias 'jao-streaming-album #'consult-spotify-album) + (defalias 'jao-streaming-track #'consult-spotify-track) + (defalias 'jao-streaming-artist #'consult-spotify-artist) + (defalias 'jao-streaming-playlist #'consult-spotify-playlist) + + (jao-def-exec-in-term "ncmpcpp" "ncmpcpp" (jao-afio--goto-scratch)) + + (use-package jao-spt + :demand t + :config + (defun jao-spt-setup-aliases () + (setq espotify-play-uri-function #'jao-spt-play-uri) + (defalias 'jao-streaming-list #'jao-term-spt) + (defalias 'jao-streaming-lyrics #'jao-spt-show-lyrics) + (defalias 'jao-streaming-toggle #'jao-spt-toggle) + (defalias 'jao-streaming-next #'jao-spt-next) + (defalias 'jao-streaming-prev #'jao-spt-previous) + (defalias 'jao-streaming-current #'jao-spt-echo-current) + (defalias 'jao-streaming-seek #'jao-spt-seek) + (defalias 'jao-streaming-seek-back #'jao-spt-seek-back) + (defalias 'jao-streaming-volume #'jao-spt-vol) + (defalias 'jao-streaming-volume-down #'jao-spt-vol-down) + (defalias 'jao-streaming-like #'jao-spt-like) + (defalias 'jao-streaming-dislike #'jao-spt-dislike))) + + (defvar jao-spt-on nil) + (defun jao-spt-on-p () jao-spt-on) + ;; (jao-spt-setup-aliases) + + (jao-def-exec-in-term "spt" "spt" (jao-afio--goto-scratch-1)) + + (defun jao-streaming-toggle-player () + (interactive) + (if jao-spt-on + (let ((player (completing-read "Player: " + '( "chromium" "mopidy" "firefox" + "spotify") + nil nil nil nil jao-mpris-player))) + (setq jao-mpris-player player) + (jao-mpris-setup-aliases)) + (jao-spt-setup-aliases)) + (message "%s activated " + (if (setq jao-spt-on (not jao-spt-on)) "spt" "mpris"))) + + (transient-define-prefix jao-transient-streaming () + [:description + (lambda () (format "Streaming using %s" + (if jao-spt-on "spt" "MPRIS") + (if jao-spt-on "" jao-mpris-player))) + ["Search" + ("a" "album" jao-streaming-album) + ("A" "artist" jao-streaming-artist) + ("t" "track" jao-streaming-track) + ("P" "playlist" jao-streaming-playlist)] + ["Play" + ("s" "toggle" jao-streaming-toggle) + ("n" "next" jao-streaming-next) + ("p" "previous" jao-streaming-prev)] + ["Seek & shout" + ("f" "seek fwd" jao-streaming-seek :transient t) + ("F" "seek bwd" jao-streaming-seek-back :transient t) + ("u" "up" jao-streaming-volume :transient t) + ("d" "down" jao-streaming-volume-down :transient t)] + ["Browse" + ("l" "playing list" jao-streaming-list) + ("L" "lyrics" jao-streaming-lyrics) + ("w" "currently playing" jao-streaming-current) + ("T" "toggle player" jao-streaming-toggle-player)] + ["Act" + ("k" "like" jao-streaming-like) + ("K" "dislike" jao-streaming-dislike) + ("S" "toggle shuffling" jao-spt-toggle-shuffle :if jao-spt-on-p)]]) + #+end_src * snippets #+begin_src emacs-lisp (defun jao-minibuffer--text-with-padding (text) @@ -1004,22 +1106,3 @@ ;; pdf-view-next-line-or-next-page)) ;; (advice-add f :after #'jao--refresh)) #+end_src -* link-hint for w3m - #+begin_src emacs-lisp - (defun jao-link-hint--notmuch-next-url (&optional bound) - (link-hint--next-property 'w3m-href-anchor bound)) - - (defun jao-link-hint--notmuch-url-at-point () - (get-text-property (point) 'w3m-href-anchor)) - - (link-hint-define-type 'notmuch-w3m-url - :next #'jao-link-hint--notmuch-next-url - :at-point-p #'jao-link-hint--notmuch-url-at-point - :vars '(notmuch-show-mode) - :open #'browse-url - :open-multiple t - :copy #'kill-new) - - (push 'link-hint-notmuch-w3m-url link-hint-types) - - #+end_src @@ -2691,6 +2691,7 @@ (defun jao-ssh () (interactive) (let ((h (completing-read "Host: " (jao-tramp-hosts)))) + (jao-afio-goto-scratch) (jao-exec-in-term (format "ssh %s" h) (format "*ssh %s*" h)))) #+end_src * Chats @@ -2944,86 +2945,24 @@ (interactive "P") (jao-show-lyrics force #'jao-mpris-artist-title)) - (use-package jao-mpris - :demand t - :config - (defun jao-mpris-setup-aliases () - (setq espotify-play-uri-function #'espotify-play-uri-with-dbus) - (if (functionp 'jao-exwm-deezer) - (defalias 'jao-streaming-list #'jao-exwm-deezer) - (defalias 'jao-streaming-list #'ignore)) - (defalias 'jao-streaming-lyrics #'jao-mpris-lyrics) - (defalias 'jao-streaming-toggle #'jao-mpris-play-pause) - (defalias 'jao-streaming-next #'jao-mpris-next) - (defalias 'jao-streaming-prev #'jao-mpris-previous) - (defalias 'jao-streaming-current #'jao-mpris-show-osd) - (defalias 'jao-streaming-seek #'jao-mpris-seek) - (defalias 'jao-streaming-seek-back #'jao-mpris-seek-back) - (defalias 'jao-streaming-volume #'jao-mpris-vol) - (defalias 'jao-streaming-volume-down #'jao-mpris-vol-down))) + (use-package jao-mpris :demand t) + (defalias 'jao-streaming-list + (if jao-sway-enabled #'jao-sway-run-or-focus-deezer #'ignore)) (defalias 'jao-streaming-like #'ignore) (defalias 'jao-streaming-dislike #'ignore) + (defalias 'jao-streaming-lyrics #'jao-mpris-lyrics) + (defalias 'jao-streaming-toggle #'jao-mpris-play-pause) + (defalias 'jao-streaming-next #'jao-mpris-next) + (defalias 'jao-streaming-prev #'jao-mpris-previous) + (defalias 'jao-streaming-current #'jao-mpris-show-osd) + (defalias 'jao-streaming-seek #'jao-mpris-seek) + (defalias 'jao-streaming-seek-back #'jao-mpris-seek-back) + (defalias 'jao-streaming-volume #'jao-mpris-vol) + (defalias 'jao-streaming-volume-down #'jao-mpris-vol-down) - (jao-mpris-setup-aliases) - (jao-mpris-register "mopidy" :system (if jao-modeline-in-minibuffer-p -10 70)) - (jao-mpris-register "firefox" :session) - (jao-mpris-register "chromium" :session) - - #+end_src -*** spotify - Access to spotify uses packages tangled from [[./lib/media/espotify.org][espotify.org]], which - offers functionality tailored to the completion engines at hand: - #+begin_src emacs-lisp - (jao-load-path "espotify") - - (use-package espotify - :demand t - :init (setq espotify-service-name "mopidy")) - (use-package consult-spotify :demand t) - (defalias 'jao-streaming-album #'consult-spotify-album) - (defalias 'jao-streaming-track #'consult-spotify-track) - (defalias 'jao-streaming-artist #'consult-spotify-artist) - (defalias 'jao-streaming-playlist #'consult-spotify-playlist) - - (jao-def-exec-in-term "ncmpcpp" "ncmpcpp" (jao-afio--goto-scratch)) - - (use-package jao-spt - :demand t - :config - (defun jao-spt-setup-aliases () - (setq espotify-play-uri-function #'jao-spt-play-uri) - (defalias 'jao-streaming-list #'jao-term-spt) - (defalias 'jao-streaming-lyrics #'jao-spt-show-lyrics) - (defalias 'jao-streaming-toggle #'jao-spt-toggle) - (defalias 'jao-streaming-next #'jao-spt-next) - (defalias 'jao-streaming-prev #'jao-spt-previous) - (defalias 'jao-streaming-current #'jao-spt-echo-current) - (defalias 'jao-streaming-seek #'jao-spt-seek) - (defalias 'jao-streaming-seek-back #'jao-spt-seek-back) - (defalias 'jao-streaming-volume #'jao-spt-vol) - (defalias 'jao-streaming-volume-down #'jao-spt-vol-down) - (defalias 'jao-streaming-like #'jao-spt-like) - (defalias 'jao-streaming-dislike #'jao-spt-dislike))) - - (defvar jao-spt-on nil) - (defun jao-spt-on-p () jao-spt-on) - ;; (jao-spt-setup-aliases) - - (jao-def-exec-in-term "spt" "spt" (jao-afio--goto-scratch-1)) - - (defun jao-streaming-toggle-player () - (interactive) - (if jao-spt-on - (let ((player (completing-read "Player: " - '( "chromium" "mopidy" "firefox" - "spotify") - nil nil nil nil jao-mpris-player))) - (setq jao-mpris-player player) - (jao-mpris-setup-aliases)) - (jao-spt-setup-aliases)) - (message "%s activated " - (if (setq jao-spt-on (not jao-spt-on)) "spt" "mpris"))) + (jao-mpris-register "playerctld" + :session (if jao-modeline-in-minibuffer-p -10 70)) #+end_src *** mpc @@ -3103,14 +3042,12 @@ (transient-define-prefix jao-transient-streaming () [:description - (lambda () (format "Streaming using %s (%s)" - (if jao-spt-on "spt" "MPRIS") - (if jao-spt-on "" jao-mpris-player))) - ["Search" - ("a" "album" jao-streaming-album) - ("A" "artist" jao-streaming-artist) - ("t" "track" jao-streaming-track) - ("P" "playlist" jao-streaming-playlist)] + (lambda () (format "Streaming using %s" jao-mpris-player)) + ;; ["Search" + ;; ("a" "album" jao-streaming-album) + ;; ("A" "artist" jao-streaming-artist) + ;; ("t" "track" jao-streaming-track) + ;; ("P" "playlist" jao-streaming-playlist)] ["Play" ("s" "toggle" jao-streaming-toggle) ("n" "next" jao-streaming-next) @@ -3123,19 +3060,18 @@ ["Browse" ("l" "playing list" jao-streaming-list) ("L" "lyrics" jao-streaming-lyrics) - ("w" "currently playing" jao-streaming-current) - ("T" "toggle player" jao-streaming-toggle-player)] + ("w" "currently playing" jao-streaming-current)] ["Act" ("k" "like" jao-streaming-like) - ("K" "dislike" jao-streaming-dislike) - ("S" "toggle shuffling" jao-spt-toggle-shuffle :if jao-spt-on-p)]]) + ("K" "dislike" jao-streaming-dislike)]]) (transient-define-prefix jao-transient-media () [["Play" ("m" "toggle" jao-player-toggle) ("n" "next" jao-player-next) ("p" "previous" jao-player-previous) - ("s" "toggle spotify" espotify-play-pause)] + ("s" "toggle streaming" jao-streaming-toggle) + ] ["Seek and search" ("f" "seek fwd" jao-player-seek-10 :transient t) ("F" "seek bwd" jao-player-seek--10 :transient t) |