aboutsummaryrefslogtreecommitdiff
path: root/Doom/.config/doom/modules/private/rss/config.el
diff options
context:
space:
mode:
authordx <aryadevchavali1@gmail.com>2020-07-15 15:56:08 +0100
committerdx <aryadevchavali1@gmail.com>2020-07-15 15:57:09 +0100
commit6bdf6db3b453cff3a3f46f1b8f33cac6426f98ac (patch)
treeb13c110ee1e64abfc19126085b08bace6a42d14c /Doom/.config/doom/modules/private/rss/config.el
parent33edf2cf6d1a2d653ca268ad272eb8f4f30380ef (diff)
downloaddotfiles-6bdf6db3b453cff3a3f46f1b8f33cac6426f98ac.tar.gz
dotfiles-6bdf6db3b453cff3a3f46f1b8f33cac6426f98ac.tar.bz2
dotfiles-6bdf6db3b453cff3a3f46f1b8f33cac6426f98ac.zip
~~/.doom.d -> ~/.config/doom
Diffstat (limited to 'Doom/.config/doom/modules/private/rss/config.el')
-rw-r--r--Doom/.config/doom/modules/private/rss/config.el51
1 files changed, 51 insertions, 0 deletions
diff --git a/Doom/.config/doom/modules/private/rss/config.el b/Doom/.config/doom/modules/private/rss/config.el
new file mode 100644
index 0000000..4d8468a
--- /dev/null
+++ b/Doom/.config/doom/modules/private/rss/config.el
@@ -0,0 +1,51 @@
+;;; private/rss/config.el -*- lexical-binding: t; -*-
+
+(require 'seq)
+(require 'cl-lib)
+
+(defvar +rss/feed-urls '(("Arch Linux" "https://www.archlinux.org/feeds/news/" Linux)
+ ("LEMMiNO" "https://www.youtube.com/feeds/videos.xml?channel_id=UCRcgy6GzDeccI7dkbbBna3Q" YouTube)
+ ("Gamer from Mars" "https://www.youtube.com/feeds/videos.xml?channel_id=UCJ6z_yj_dDNrhn-c8ZyKV4g" YouTube)
+ ("Pop Culture Detective" "https://www.youtube.com/feeds/videos.xml?channel_id=UCHiwtz2tCEfS17N9A-WoSSw" YouTube)
+ ("Dark Sominium" "https://www.youtube.com/feeds/videos.xml?channel_id=UC_e39rWdkQqo5-LbiLiU10g" YouTube Stories)
+ ("Dark Sominium Music" "https://www.youtube.com/feeds/videos.xml?channel_id=UCkLiZ_zLynyNd5fd62hg1Kw" YouTube Music)
+ ("Nexpo" "https://www.youtube.com/feeds/videos.xml?channel_id=UCpFFItkfZz1qz5PpHpqzYBw" YouTube)
+ ("Techquickie" "https://www.youtube.com/feeds/videos.xml?channel_id=UC0vBXGSyV14uvJ4hECDOl0Q" YouTube)
+ ("3B1B" "https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw" YouTube)))
+
+
+(when (featurep! +elfeed)
+ (after! elfeed
+ (setq elfeed-feeds (cl-map 'list (lambda (item) (append (list (nth 1 item)) (cdr (cdr item)))) +rss/feed-urls))))
+
+(when (featurep! +newsticker)
+ (defun +rss/set-feed-urls (LIST)
+ "Set the newsticker-url-list to LIST. LIST should have format =(TAG URL START_TIME INTERVAL)="
+ (setq newsticker-url-list LIST))
+
+ (defun +rss/get-newsticker-buffers ()
+ "Using seq, filter the buffer list for newsticker buffers"
+ (seq-remove (lambda (buffer)
+ (not (and (cl-search "*Newsticker" (buffer-name buffer))
+ (= (cl-search "*Newsticker" (buffer-name buffer))))))
+ (buffer-list)))
+
+ (defun +rss/close-newsticker()
+ "Routine to close the newsticker system"
+ (interactive)
+ (newsticker-stop)
+ (dolist (buf (+rss/get-newsticker-buffers))
+ (kill-buffer buf))
+ (+workspace/delete "RSS"))
+
+ (use-package! newsticker
+ :config
+ (+rss/set-feed-urls ; Format is =(TAG URL START_TIME INTERVAL)=
+ (cl-map 'list (lambda (item) (list (nth 0 item) (nth 1 item) nil 3600)) +rss/feed-urls))
+
+ (defun +rss/open-newsticker ()
+ "Routine to start and open the newsticker"
+ (interactive)
+ (newsticker-start)
+ (+workspace/new "RSS")
+ (newsticker-treeview))))