tweaks to empv and adding bluetooth?
This commit is contained in:
parent
47e16a9f60
commit
1992fca849
51
README.org
51
README.org
|
@ -9,6 +9,7 @@
|
||||||
- [[#fix-nixos][Fix NixOS]]
|
- [[#fix-nixos][Fix NixOS]]
|
||||||
- [[#spell-check][Spell Check]]
|
- [[#spell-check][Spell Check]]
|
||||||
- [[#proced][Proced]]
|
- [[#proced][Proced]]
|
||||||
|
- [[#bluetooth][Bluetooth]]
|
||||||
- [[#keep-folders-clean][Keep Folders Clean]]
|
- [[#keep-folders-clean][Keep Folders Clean]]
|
||||||
- [[#ligatures][Ligatures]]
|
- [[#ligatures][Ligatures]]
|
||||||
- [[#keybindings][Keybindings]]
|
- [[#keybindings][Keybindings]]
|
||||||
|
@ -357,6 +358,16 @@ I am currently using NixOS. In order for emacs to have access to certain program
|
||||||
(setenv "CXX" "/run/current-system/sw/bin/g++")
|
(setenv "CXX" "/run/current-system/sw/bin/g++")
|
||||||
(setenv "QT_AUTO_SCREEN_SCALE_FACTOR" "1")
|
(setenv "QT_AUTO_SCREEN_SCALE_FACTOR" "1")
|
||||||
(setenv "QT_SCALE_FACTOR" "1")
|
(setenv "QT_SCALE_FACTOR" "1")
|
||||||
|
|
||||||
|
(defun chris/nix-reload ()
|
||||||
|
(interactive)
|
||||||
|
(let* ((query (shell-command-to-string "nix-store --query $(which emacs)"))
|
||||||
|
(store-path (expand-file-name "share/emacs" (string-trim query))))
|
||||||
|
(load-file (expand-file-name "site-lisp/subdirs.el" store-path))
|
||||||
|
(when (boundp 'native-comp-eln-load-path)
|
||||||
|
(add-to-list 'native-comp-eln-load-path (expand-file-name "native-lisp/" store-path)))))
|
||||||
|
|
||||||
|
(add-to-list 'native-comp-eln-load-path (expand-file-name "native-lisp/" "/nix/store/4fcbabjigcwvxv0idh2ik0ml80lq7m49-emacs-bluetooth-0.3.1/"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Also due to using greetd, emacs isn't started with the environment from the system, so let's make sure it knows which wayland display we are using
|
Also due to using greetd, emacs isn't started with the environment from the system, so let's make sure it knows which wayland display we are using
|
||||||
|
@ -396,6 +407,14 @@ Let's turn auto update on for proced
|
||||||
(setq proced-auto-update-flag t)
|
(setq proced-auto-update-flag t)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Bluetooth
|
||||||
|
I think I like this interface to controlling bluetooth the most
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package bluetooth
|
||||||
|
:general
|
||||||
|
(chris/leader-keys
|
||||||
|
"oT" 'bluetooth-list-devices))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Keep Folders Clean
|
** Keep Folders Clean
|
||||||
|
|
||||||
|
@ -3988,6 +4007,14 @@ With empv we can perhaps control mpv much more fine grainly and even search yout
|
||||||
(interactive)
|
(interactive)
|
||||||
(async-shell-command (concat "yt-dlp" " \"" (empv-youtube-results--current-video-url) "\"")))
|
(async-shell-command (concat "yt-dlp" " \"" (empv-youtube-results--current-video-url) "\"")))
|
||||||
|
|
||||||
|
(defun chris/empv-org-play-link (&optional link)
|
||||||
|
"Play link in empv from either supplied link or link at point in org-mode"
|
||||||
|
(interactive)
|
||||||
|
(let ((link (if link
|
||||||
|
link
|
||||||
|
(org-babel-read-link))))
|
||||||
|
(empv-play link)))
|
||||||
|
|
||||||
:general
|
:general
|
||||||
(chris/leader-keys
|
(chris/leader-keys
|
||||||
:states 'normal
|
:states 'normal
|
||||||
|
@ -3996,7 +4023,10 @@ With empv we can perhaps control mpv much more fine grainly and even search yout
|
||||||
"vt" 'empv-toggle
|
"vt" 'empv-toggle
|
||||||
"vv" 'empv-play-video
|
"vv" 'empv-play-video
|
||||||
"vx" 'empv-chapter-select
|
"vx" 'empv-chapter-select
|
||||||
"vy" 'empv-youtube-tabulated)
|
"vy" 'empv-youtube-tabulated
|
||||||
|
"vn" 'empv-playlist-next
|
||||||
|
"vp" 'empv-playlist-prev
|
||||||
|
"vs" 'empv-playlist-select)
|
||||||
(general-def
|
(general-def
|
||||||
:states 'normal
|
:states 'normal
|
||||||
:keymaps 'empv-youtube-results-mode-map
|
:keymaps 'empv-youtube-results-mode-map
|
||||||
|
@ -4090,6 +4120,20 @@ q quit-window
|
||||||
(defvar chris/elfeed-bongo-playlist "*Bongo-Elfeed Queue*"
|
(defvar chris/elfeed-bongo-playlist "*Bongo-Elfeed Queue*"
|
||||||
"Name of the Elfeed+Bongo multimedia playlist.")
|
"Name of the Elfeed+Bongo multimedia playlist.")
|
||||||
|
|
||||||
|
(defun chris/elfeed-empv-play ()
|
||||||
|
"Play elfeed video or podcast link in empv"
|
||||||
|
(interactive)
|
||||||
|
(let* ((entry (elfeed-search-selected :ignore-region))
|
||||||
|
(link (elfeed-entry-link entry))
|
||||||
|
(enclosure (elt (car (elfeed-entry-enclosures entry)) 0))
|
||||||
|
(url (if (string-prefix-p "https://thumbnails" enclosure)
|
||||||
|
link
|
||||||
|
(if (string= enclosure nil)
|
||||||
|
link
|
||||||
|
enclosure)))
|
||||||
|
(title (elfeed-entry-title entry)))
|
||||||
|
(empv-play-or-enqueue url)))
|
||||||
|
|
||||||
(defun chris/elfeed-bongo-insert-item ()
|
(defun chris/elfeed-bongo-insert-item ()
|
||||||
"Insert `elfeed' multimedia links in `bongo' playlist buffer.
|
"Insert `elfeed' multimedia links in `bongo' playlist buffer.
|
||||||
|
|
||||||
|
@ -4172,7 +4216,8 @@ interfere with the default `bongo-playlist-buffer'."
|
||||||
|
|
||||||
(defun chris/elfeed-ui-setup ()
|
(defun chris/elfeed-ui-setup ()
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
(toggle-truncate-lines +1))
|
(toggle-truncate-lines +1)
|
||||||
|
(elfeed-search-fetch))
|
||||||
|
|
||||||
(defun chris/elfeed-show-ui-setup ()
|
(defun chris/elfeed-show-ui-setup ()
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
|
@ -4207,7 +4252,7 @@ interfere with the default `bongo-playlist-buffer'."
|
||||||
"of" 'elfeed)
|
"of" 'elfeed)
|
||||||
|
|
||||||
(general-def 'normal elfeed-search-mode-map
|
(general-def 'normal elfeed-search-mode-map
|
||||||
"v" 'chris/elfeed-bongo-insert-item
|
"v" 'chris/elfeed-empv-play
|
||||||
"h" 'chris/elfeed-bongo-switch-to-playlist
|
"h" 'chris/elfeed-bongo-switch-to-playlist
|
||||||
"b" 'chris/elfeed-eww-browse
|
"b" 'chris/elfeed-eww-browse
|
||||||
"o" 'chris/elfeed-org-view)
|
"o" 'chris/elfeed-org-view)
|
||||||
|
|
37
init.el
37
init.el
|
@ -162,6 +162,11 @@
|
||||||
|
|
||||||
(setq proced-auto-update-flag t)
|
(setq proced-auto-update-flag t)
|
||||||
|
|
||||||
|
(use-package bluetooth
|
||||||
|
:general
|
||||||
|
(chris/leader-keys
|
||||||
|
"oT" 'bluetooth-list-devices))
|
||||||
|
|
||||||
(use-package no-littering)
|
(use-package no-littering)
|
||||||
|
|
||||||
;; no-littering doesn't set this by default so we must place
|
;; no-littering doesn't set this by default so we must place
|
||||||
|
@ -2906,6 +2911,14 @@ targets."
|
||||||
(interactive)
|
(interactive)
|
||||||
(async-shell-command (concat "yt-dlp" " \"" (empv-youtube-results--current-video-url) "\"")))
|
(async-shell-command (concat "yt-dlp" " \"" (empv-youtube-results--current-video-url) "\"")))
|
||||||
|
|
||||||
|
(defun chris/empv-org-play-link (&optional link)
|
||||||
|
"Play link in empv from either supplied link or link at point in org-mode"
|
||||||
|
(interactive)
|
||||||
|
(let ((link (if link
|
||||||
|
link
|
||||||
|
(org-babel-read-link))))
|
||||||
|
(empv-play link)))
|
||||||
|
|
||||||
:general
|
:general
|
||||||
(chris/leader-keys
|
(chris/leader-keys
|
||||||
:states 'normal
|
:states 'normal
|
||||||
|
@ -2914,7 +2927,10 @@ targets."
|
||||||
"vt" 'empv-toggle
|
"vt" 'empv-toggle
|
||||||
"vv" 'empv-play-video
|
"vv" 'empv-play-video
|
||||||
"vx" 'empv-chapter-select
|
"vx" 'empv-chapter-select
|
||||||
"vy" 'empv-youtube-tabulated)
|
"vy" 'empv-youtube-tabulated
|
||||||
|
"vn" 'empv-playlist-next
|
||||||
|
"vp" 'empv-playlist-prev
|
||||||
|
"vs" 'empv-playlist-select)
|
||||||
(general-def
|
(general-def
|
||||||
:states 'normal
|
:states 'normal
|
||||||
:keymaps 'empv-youtube-results-mode-map
|
:keymaps 'empv-youtube-results-mode-map
|
||||||
|
@ -2929,6 +2945,20 @@ targets."
|
||||||
(defvar chris/elfeed-bongo-playlist "*Bongo-Elfeed Queue*"
|
(defvar chris/elfeed-bongo-playlist "*Bongo-Elfeed Queue*"
|
||||||
"Name of the Elfeed+Bongo multimedia playlist.")
|
"Name of the Elfeed+Bongo multimedia playlist.")
|
||||||
|
|
||||||
|
(defun chris/elfeed-empv-play ()
|
||||||
|
"Play elfeed video or podcast link in empv"
|
||||||
|
(interactive)
|
||||||
|
(let* ((entry (elfeed-search-selected :ignore-region))
|
||||||
|
(link (elfeed-entry-link entry))
|
||||||
|
(enclosure (elt (car (elfeed-entry-enclosures entry)) 0))
|
||||||
|
(url (if (string-prefix-p "https://thumbnails" enclosure)
|
||||||
|
link
|
||||||
|
(if (string= enclosure nil)
|
||||||
|
link
|
||||||
|
enclosure)))
|
||||||
|
(title (elfeed-entry-title entry)))
|
||||||
|
(empv-play-or-enqueue url)))
|
||||||
|
|
||||||
(defun chris/elfeed-bongo-insert-item ()
|
(defun chris/elfeed-bongo-insert-item ()
|
||||||
"Insert `elfeed' multimedia links in `bongo' playlist buffer.
|
"Insert `elfeed' multimedia links in `bongo' playlist buffer.
|
||||||
|
|
||||||
|
@ -3011,7 +3041,8 @@ interfere with the default `bongo-playlist-buffer'."
|
||||||
|
|
||||||
(defun chris/elfeed-ui-setup ()
|
(defun chris/elfeed-ui-setup ()
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
(toggle-truncate-lines +1))
|
(toggle-truncate-lines +1)
|
||||||
|
(elfeed-search-fetch))
|
||||||
|
|
||||||
(defun chris/elfeed-show-ui-setup ()
|
(defun chris/elfeed-show-ui-setup ()
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
|
@ -3046,7 +3077,7 @@ interfere with the default `bongo-playlist-buffer'."
|
||||||
"of" 'elfeed)
|
"of" 'elfeed)
|
||||||
|
|
||||||
(general-def 'normal elfeed-search-mode-map
|
(general-def 'normal elfeed-search-mode-map
|
||||||
"v" 'chris/elfeed-bongo-insert-item
|
"v" 'chris/elfeed-empv-play
|
||||||
"h" 'chris/elfeed-bongo-switch-to-playlist
|
"h" 'chris/elfeed-bongo-switch-to-playlist
|
||||||
"b" 'chris/elfeed-eww-browse
|
"b" 'chris/elfeed-eww-browse
|
||||||
"o" 'chris/elfeed-org-view)
|
"o" 'chris/elfeed-org-view)
|
||||||
|
|
Loading…
Reference in a new issue