aboutsummaryrefslogtreecommitdiff
path: root/emacs/.emacs.d/init
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.emacs.d/init')
-rw-r--r--emacs/.emacs.d/init/ycp-basic.el7
-rw-r--r--emacs/.emacs.d/init/ycp-complete.el12
-rw-r--r--emacs/.emacs.d/init/ycp-editing.el5
-rw-r--r--emacs/.emacs.d/init/ycp-emms.el16
-rw-r--r--emacs/.emacs.d/init/ycp-gnus.el4
-rw-r--r--emacs/.emacs.d/init/ycp-grep.el1
-rw-r--r--emacs/.emacs.d/init/ycp-help.el3
-rw-r--r--emacs/.emacs.d/init/ycp-markup.el28
-rw-r--r--emacs/.emacs.d/init/ycp-org.el40
-rw-r--r--emacs/.emacs.d/init/ycp-pdf.el1
-rw-r--r--emacs/.emacs.d/init/ycp-prog.el18
-rw-r--r--emacs/.emacs.d/init/ycp-reading.el34
-rw-r--r--emacs/.emacs.d/init/ycp-theme.el1
-rw-r--r--emacs/.emacs.d/init/ycp-time.el4
-rw-r--r--emacs/.emacs.d/init/ycp-web.el79
15 files changed, 223 insertions, 30 deletions
diff --git a/emacs/.emacs.d/init/ycp-basic.el b/emacs/.emacs.d/init/ycp-basic.el
index 12c21d1..cb097e7 100644
--- a/emacs/.emacs.d/init/ycp-basic.el
+++ b/emacs/.emacs.d/init/ycp-basic.el
@@ -27,6 +27,12 @@
;;; Code:
+;;; If started from systemd, emacs treats env variables inside env
+;;; variables as literal. e.g. if we have
+;;; Environment=PATH=$HOME/.local/bin:$HOME/bin
+;;; emacs will set exec-path to be literally
+;;; $HOME/.local/bin:$HOME/bin, without expanding $HOME.
+(setq exec-path (seq-map 'substitute-in-file-name exec-path))
(my-configure
(my-keybind global-map
@@ -57,6 +63,7 @@
(:delay 5)
(my-setq-from-local my-audio-incoming-dir my-video-incoming-dir
my-document-incoming-dir)
+ (my-setq-from-local my-copy-file-targets)
(my-keybind global-map
"C-c <f2>" #'my-rename-file-and-buffer
"C-c <delete>" #'my-delete-file-and-kill-buffer
diff --git a/emacs/.emacs.d/init/ycp-complete.el b/emacs/.emacs.d/init/ycp-complete.el
index d123989..2f2117d 100644
--- a/emacs/.emacs.d/init/ycp-complete.el
+++ b/emacs/.emacs.d/init/ycp-complete.el
@@ -291,6 +291,9 @@
(my-package consult-recoll
(:delay 30)
(:install t)
+ (add-to-list 'consult-recoll-open-fns
+ '("application/pdf" . my-consult-recoll-open-in-pdf-tools))
+ (setq consult-recoll-inline-snippets t)
)
(my-package hmm
@@ -308,7 +311,14 @@
(:name qutebrowser :command my-browse-url-qutebrowser)
(:name download-and-open :command my-fetch-url)))
(setq hmm-external-handlers
- '((:name mpv
+ '((:name feh
+ :external-command "feh %U"
+ :display-name "feh image viewer"
+ :description "Open url with feh"
+ :schemes
+ ("ftp" "http" "https" "mms" "rtmp" "rtsp" "sftp" "smb" "srt")
+ :handling :url)
+ (:name mpv
:external-command "mpv %U"
:display-name "mpv player"
:description "Play url with mpv"
diff --git a/emacs/.emacs.d/init/ycp-editing.el b/emacs/.emacs.d/init/ycp-editing.el
index 907c80b..031ae31 100644
--- a/emacs/.emacs.d/init/ycp-editing.el
+++ b/emacs/.emacs.d/init/ycp-editing.el
@@ -30,6 +30,11 @@
;; line wrap at window edge
(setq-default truncate-lines nil)
(setq kill-do-not-save-duplicates t)
+(setq kill-transform-function
+ (lambda (s) (when (or
+ (derived-mode-p 'pdf-view-mode)
+ (string-match-p "[^ \t\n]" s))
+ s)))
(setq bidi-inhibit-bpa t)
(setq save-interprogram-paste-before-kill t)
(setq kill-ring-max 200)
diff --git a/emacs/.emacs.d/init/ycp-emms.el b/emacs/.emacs.d/init/ycp-emms.el
index a3a4604..e49209f 100644
--- a/emacs/.emacs.d/init/ycp-emms.el
+++ b/emacs/.emacs.d/init/ycp-emms.el
@@ -34,6 +34,7 @@
(emms-all)
(setq emms-playing-time-resume-from-last-played t)
(add-to-list 'emms-info-functions 'emms-info-ytdl)
+ (add-to-list 'emms-info-functions 'my-emms-info-ffprobe)
;; emms-info-native is not very useful
(delete 'emms-info-native emms-info-functions)
(setq emms-source-file-default-directory (locate-user-emacs-file "emms"))
@@ -46,6 +47,7 @@
(setq emms-source-file-directory-tree-function
'emms-source-file-directory-tree-find)
(setq emms-info-ytdl-using-torsocks t)
+ (setq emms-info-auto-update nil)
(add-hook 'emms-playlist-mode-hook #'hl-line-mode)
(add-hook 'emms-metaplaylist-mode-hook #'hl-line-mode)
)
@@ -81,8 +83,8 @@
"C-<return>" #'my-emms-playlist-mode-make-current
"w" #'my-emms-playlist-kill-track-name-at-point
"D" #'my-emms-playlist-delete-at-point
- "R" #'my-emms-random-album
- "N" #'my-emms-next-track-or-random-album
+ "R" #'my-emms-playlist-random-group
+ "N" #'my-emms-next-track-or-random-group
)
(add-hook 'emms-player-started-hook 'my-emms-maybe-seek-to-last-played)
(my-override emms-mode-line-enable)
@@ -90,11 +92,19 @@
(my-override emms-mode-line-toggle)
(add-hook 'emms-playlist-selection-changed-hook
'my-emms-output-current-track-to-i3bar-file)
- (setq emms-player-next-function 'my-emms-next-track-or-random-album)
+ (add-hook 'emms-player-finished-hook 'my-emms-score-up-playing)
+ (add-hook 'emms-player-started-hook 'my-emms-score-up-chosen-bonus)
+ (add-hook 'emms-player-started-hook 'my-emms-playlist-maybe-mark-bounds)
+ (add-hook 'emms-player-started-hook 'my-emms-maybe-get-duration-for-current-track)
+ (setq emms-player-next-function 'my-emms-next-track-or-random-group)
(setq emms-players-preference-f 'my-emms-players-preference)
(my-keybind dired-mode-map "e" #'my-dired-add-to-emms)
(my-override emms-track-simple-description)
(my-emms-add-all)
+ (my-timer emms-save-scores-timer nil 900 'emms-score-save-hash)
+ (my-override emms-mode-line-playlist-current)
+ (my-override emms-score-show-playing)
+ ;; (my-override emms-playing-time-mode-line)
)
(provide 'ycp-emms)
diff --git a/emacs/.emacs.d/init/ycp-gnus.el b/emacs/.emacs.d/init/ycp-gnus.el
index f4886fd..9e89ee9 100644
--- a/emacs/.emacs.d/init/ycp-gnus.el
+++ b/emacs/.emacs.d/init/ycp-gnus.el
@@ -186,6 +186,10 @@
(setq gnus-summary-next-group-on-exit nil)
)
+(my-package gnus-art
+ (my-keybind gnus-article-mode-map
+ "w" #'my-copy-url-at-point))
+
(my-package nnrss
(:delay 60)
(setq nnrss-use-local t))
diff --git a/emacs/.emacs.d/init/ycp-grep.el b/emacs/.emacs.d/init/ycp-grep.el
index 85f15cd..f0ef8ce 100644
--- a/emacs/.emacs.d/init/ycp-grep.el
+++ b/emacs/.emacs.d/init/ycp-grep.el
@@ -107,6 +107,7 @@
;;; org-recoll
(my-package org-recoll
(:delay 60)
+ (my-override org-recoll-format-results)
(my-keybind org-recoll-mode-map
"n" #'org-next-visible-heading
"p" #'org-previous-visible-heading
diff --git a/emacs/.emacs.d/init/ycp-help.el b/emacs/.emacs.d/init/ycp-help.el
index 5cbbed0..98fa58c 100644
--- a/emacs/.emacs.d/init/ycp-help.el
+++ b/emacs/.emacs.d/init/ycp-help.el
@@ -44,7 +44,8 @@
)
(my-package info
- ;; TODO consider using `Info-additional-directory-list' instead
+ ;; Can't `Info-additional-directory-list' - won't be used in
+ ;; `info-display-manual' somehow
(add-to-list 'Info-directory-list (locate-user-emacs-file "info")))
(my-keybind global-map
diff --git a/emacs/.emacs.d/init/ycp-markup.el b/emacs/.emacs.d/init/ycp-markup.el
index e03fd86..c90dc6a 100644
--- a/emacs/.emacs.d/init/ycp-markup.el
+++ b/emacs/.emacs.d/init/ycp-markup.el
@@ -72,7 +72,11 @@
(my-keybind wiki-mode-map
"C-'" #'my-wiki-grok-wikipedia)
(my-setq-from-local wiki-sites)
- (wiki-define-site-commands))
+ (wiki-define-site-commands)
+ (add-to-list 'browse-url-handlers
+ `(wiki-engine-entry-url-p
+ . ,(lambda (url &rest _) (wiki-open-url url))))
+ )
(my-package ledger-mode
(:install t)
@@ -83,17 +87,35 @@
(setq-local completion-cycle-threshold t)
(setq-local ledger-complete-in-steps t)
(setq-local company-mode nil)))
- (setq ledger-binary-path "hledger"))
+ (setq ledger-binary-path "hledger")
+ (require 'my-ledger)
+ (my-keybind ledger-mode-map
+ "M-<down>" #'my-ledger-move-xact-down
+ "M-<up>" #'my-ledger-move-xact-up
+ "C-c C-c" #'compile)
+ (add-to-list 'compilation-error-regexp-alist 'ledger)
+ (add-to-list 'compilation-error-regexp-alist-alist my-ledger-compilation-error-re)
+ (add-hook 'ledger-mode-hook 'my-ledger-set-compile-command)
+ )
;;; todo: open epub in emacs client with nov
(my-package nov
(:delay 15)
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode))
- (setq nov-text-width fill-column)
+ ;; No fill, so it requires visual line mode to look nice
+ (setq nov-text-width t)
+ (add-hook 'nov-mode-hook 'visual-line-mode)
(add-hook 'nov-mode-hook 'follow-mode)
+ (add-hook 'nov-mode-hook (lambda ()
+ (setq line-spacing .1)))
+ (add-hook 'nov-post-html-render-hook 'my-nov-set-margins)
(require 'my-nov)
(my-override nov-render-title)
(my-override nov-scroll-up)
+ (my-keybind nov-mode-map
+ "Q" #'my-nov-copy-buffer-file-with-staging
+ "i" #'imenu)
+ (add-to-list 'nov-shr-rendering-functions '(span . my-nov-render-span))
)
;;; json-mode
diff --git a/emacs/.emacs.d/init/ycp-org.el b/emacs/.emacs.d/init/ycp-org.el
index eb5a63d..001dbe0 100644
--- a/emacs/.emacs.d/init/ycp-org.el
+++ b/emacs/.emacs.d/init/ycp-org.el
@@ -306,6 +306,7 @@
(setq org-clock-idle-time 15)
(setq org-clock-mode-line-total 'auto)
(setq org-clock-persist 'history)
+ (setq org-clock-continuously t)
(org-clock-persistence-insinuate))
(my-package org-refile
@@ -441,12 +442,16 @@
(add-to-list 'org-protocol-protocol-alist
'("grok"
:protocol "grok"
- :function my-org-protocol-grok)))
+ :function my-org-protocol-grok))
+ (add-to-list 'org-protocol-protocol-alist
+ '("browse-url"
+ :protocol "browse-url"
+ :function my-org-protocol-browse-url)))
;; org man links
(my-package ol-man
(:delay 30)
- (setq org-man-command 'woman))
+ (setq org-man-command 'man))
(my-package ol
(:delay 10)
@@ -504,12 +509,12 @@
(my-package my-org
(:delay 30)
(require 'my-web)
- (org-link-set-parameters "http" :follow (lambda (url arg)
- (my-browse-url
- (concat "http:" url) arg)))
- (org-link-set-parameters "https" :follow (lambda (url arg)
- (my-browse-url
- (concat "https:" url) arg)))
+ (org-link-set-parameters "http" :follow
+ (lambda (url arg)
+ (browse-url (concat "http:" url) arg)))
+ (org-link-set-parameters "https" :follow
+ (lambda (url arg)
+ (browse-url (concat "http:" url) arg)))
(require 'eww)
(define-key eww-mode-map (kbd "C-'") 'my-eww-org-protocol-grok)
)
@@ -518,5 +523,24 @@
(:delay 60)
(require 'my-ox-jira))
+(my-package org-remark
+ (:install t)
+ (:delay 60)
+ (require 'my-org-remark)
+ (setq org-remark-notes-display-buffer-action
+ '(display-buffer-reuse-mode-window))
+ (setq org-remark-notes-file-name
+ (locate-user-emacs-file "margin.org"))
+ (my-override org-remark-highlight-add-or-update-highlight-headline)
+ (require 'nov)
+ (my-keybind nov-mode-map
+ "M-n" #'org-remark-next
+ "M-p" #'org-remark-prev
+ "M" #'my-org-remark-open-or-create
+ "o" #'org-remark-view
+ "d" #'org-remark-delete)
+ (with-eval-after-load 'nov
+ (org-remark-nov-mode +1)))
+
(provide 'ycp-org)
;;; ycp-org.el ends here
diff --git a/emacs/.emacs.d/init/ycp-pdf.el b/emacs/.emacs.d/init/ycp-pdf.el
index 9553f7a..8e47f1c 100644
--- a/emacs/.emacs.d/init/ycp-pdf.el
+++ b/emacs/.emacs.d/init/ycp-pdf.el
@@ -57,6 +57,7 @@
"," #'my-pdf-view-shrink-a-bit
"Q" #'my-pdf-dptrp1-upload
)
+ (my-setq-from-local my-pdf-dptrp1-ip)
)
(my-package pdf-misc
diff --git a/emacs/.emacs.d/init/ycp-prog.el b/emacs/.emacs.d/init/ycp-prog.el
index 9eff2f8..6584491 100644
--- a/emacs/.emacs.d/init/ycp-prog.el
+++ b/emacs/.emacs.d/init/ycp-prog.el
@@ -106,7 +106,10 @@
"C-c C-n" 'comint-next-prompt
"C-c C-u" 'gud-up
"C-c C-d" 'gud-down
- "C-c C-n" 'comint-next-prompt)
+ "C-c C-k" 'my-gud-insert-source-line
+ "C-c C-q" 'my-gud-insert-function-name
+ "C-," 'my-gud-insert-source-line-and-function-name
+ )
(add-hook 'gud-mode-hook 'my-gud-comint-set-prompt-regexp)
(add-hook 'gud-mode-hook 'company-mode)
;; Don't make this a general comint-mode hook, as it will overwrite
@@ -188,6 +191,8 @@
(:delay 5)
(define-key c-mode-map (kbd "C-c C-c") 'compile)
(define-key c++-mode-map (kbd "C-c C-c") 'project-compile)
+ (define-key c-mode-map (kbd "C-x C-e") 'my-gud-print-expr-region)
+ (define-key c++-mode-map (kbd "C-x C-e") 'my-gud-print-expr-region)
(add-to-list 'auto-mode-alist '("\\.inl\\'" . c++-mode))
(setq c-default-style
'((java-mode . "java")
@@ -208,7 +213,7 @@
(add-hook 'c-mode-hook 'my-c-set-compile-command)
(define-key c-mode-map (kbd "C-c s") 'my-c-switch-between-header-and-source)
(define-key c++-mode-map (kbd "C-c s")
- 'my-c-switch-between-header-and-source)
+ 'my-c-switch-between-header-and-source)
(my-override bookmark-make-record)
)
@@ -501,14 +506,16 @@
(setq comment-start "#"))))
(add-to-list 'auto-mode-alist '("\\.cnf\\'" . conf-mode))
(require 'my-mariadb)
+ (add-hook 'sql-mode-hook 'my-mtr-set-compile-command)
+ (add-to-list 'compilation-error-regexp-alist 'mtr)
+ (add-to-list 'compilation-error-regexp-alist-alist
+ my-mtr-compilation-error-re)
(define-key sql-mode-map (kbd "C-c C-c") 'my-sql-maybe-mtrr)
(my-keybind global-map
"C-c d m" 'my-gdb-maria
"C-c d s" 'my-gdb-maria-spider
)
(define-key gud-mode-map (kbd "C-c C-z") 'my-gdb-mysql-parse-frame)
- (define-key gud-mode-map (kbd "C-c C-p") 'comint-previous-prompt)
- (define-key gud-mode-map (kbd "C-c C-n") 'comint-next-prompt)
(add-to-list 'grep-files-aliases
'("mtr" . "*.inc *.test *.cnf *.result *.rdiff"))
(add-to-list 'grep-files-aliases
@@ -543,7 +550,8 @@
;;; nxml
(my-package nxml-mode
(:delay 60)
- (setq nxml-slash-auto-complete-flag t))
+ (setq nxml-slash-auto-complete-flag t)
+ (add-to-list 'auto-mode-alist '("\\.opf\\'" . nxml-mode)))
(my-package etags
(:delay 60)
diff --git a/emacs/.emacs.d/init/ycp-reading.el b/emacs/.emacs.d/init/ycp-reading.el
new file mode 100644
index 0000000..5c0284e
--- /dev/null
+++ b/emacs/.emacs.d/init/ycp-reading.el
@@ -0,0 +1,34 @@
+;;; ycp-reading.el -- Reading related customisation -*- lexical-binding: t -*-
+
+;; Copyright (C) 2025 Free Software Foundation, Inc.
+
+;; Author: Yuchen Pei <id@ypei.org>
+;; Package-Requires: ((emacs "29.4"))
+
+;; This file is part of dotted.
+
+;; dotted is free software: you can redistribute it and/or modify it under
+;; the terms of the GNU Affero General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; dotted is distributed in the hope that it will be useful, but WITHOUT
+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
+;; Public License for more details.
+
+;; You should have received a copy of the GNU Affero General Public
+;; License along with dotted. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Reading related customisation.
+
+;;; Code:
+
+(my-package belf
+ (my-setq-from-local belf-dir belf-locate-dirs)
+ (add-hook 'find-file-hook 'belf-recent-add-current)
+ (blink-cursor-mode 0))
+
+(provide 'ycp-reading)
diff --git a/emacs/.emacs.d/init/ycp-theme.el b/emacs/.emacs.d/init/ycp-theme.el
index ee76311..c6721ed 100644
--- a/emacs/.emacs.d/init/ycp-theme.el
+++ b/emacs/.emacs.d/init/ycp-theme.el
@@ -41,6 +41,7 @@
'normal :weight 'normal :height 150 :width 'normal)
(set-face-attribute 'fixed-pitch nil :family "Ubuntu Mono" :foundry "DAMA"
:slant 'normal :weight 'normal :height 150 :width 'normal)
+(set-face-attribute 'variable-pitch nil :family "Ubuntu" :foundry "DAMA")
(provide 'ycp-theme)
;;; ycp-theme.el ends here
diff --git a/emacs/.emacs.d/init/ycp-time.el b/emacs/.emacs.d/init/ycp-time.el
index f98a9cd..f21061c 100644
--- a/emacs/.emacs.d/init/ycp-time.el
+++ b/emacs/.emacs.d/init/ycp-time.el
@@ -83,7 +83,7 @@
(holiday-fixed 1 26 "Australia Day (Vic holiday)")
(holiday-float 3 1 2 "Labour Day (Vic holiday)")
(holiday-fixed 4 25 "Anzac Day (Vic holiday)")
- (holiday-float 6 1 2 "Monarch's Birthday (Vic oliday)")
+ (holiday-float 6 1 2 "Monarch's Birthday (Vic holiday)")
(holiday-fixed 6 30 "End of financial year")
(holiday-float 9 5 -1 "(Possibly) Friday before the AFL Grand Final (Vic holiday)")
(holiday-float 10 5 1 "(Possibly) Friday before the AFL Grand Final (Vic holiday)")
@@ -123,7 +123,7 @@
(setq appt-display-interval 5)
;; dbus notification of appt
(require 'my-time)
- (setq appt-disp-window-function #'my-app-display-window)
+ (setq appt-disp-window-function #'my-appt-display-window)
;; with org-agenda-to-appt
(require 'org-clock)
(require 'my-utils)
diff --git a/emacs/.emacs.d/init/ycp-web.el b/emacs/.emacs.d/init/ycp-web.el
index b1e546c..67c5e5a 100644
--- a/emacs/.emacs.d/init/ycp-web.el
+++ b/emacs/.emacs.d/init/ycp-web.el
@@ -34,6 +34,8 @@
(ignore-errors (cancel-timer url-cookie-timer))
(setq shr-cookie-policy nil)
+(setq browse-url-handlers
+ '((stringp . browse-url-firefox)))
(my-package luwak
(:delay 10)
@@ -184,7 +186,12 @@
(my-override hnreader--print-frontpage)
(my-override hnreader--print-frontpage-item)
(my-override hnreader--print-comments)
- (my-override hnreader--get-title))
+ (my-override hnreader--get-title)
+ (require 'my-web)
+ (add-to-list 'browse-url-handlers
+ `(my-hacker-news-url-p
+ . ,(lambda (url &rest _) (hnreader-comment url))))
+ )
(add-to-list 'load-path (locate-user-emacs-file "lisp/lem.el/lisp"))
(my-package lem-org
@@ -203,6 +210,7 @@
org-jira-jira-status-to-org-keyword-alist
org-jira-project-filename-alist
org-jira-custom-jqls)
+ (org-link-set-parameters "jira" '((:follow . org-jira-open)))
(require 'my-org-jira)
(my-override org-jira--render-issue)
(my-override org-jira-update-worklogs-from-org-clocks)
@@ -215,8 +223,14 @@
'turn-off-auto-fill)
(add-hook 'org-jira-mode-hook
'turn-off-flyspell)
+ (add-to-list 'browse-url-handlers
+ `(my-org-jira-url-p
+ . ,(lambda (url &rest _) (my-org-jira-open-url url))))
)
+(my-package dnd
+ (setq dnd-open-remote-file-function 'browse-url))
+
(my-package eww
(:delay 60)
(advice-add 'eww-browse-url :filter-args #'my-rewrite-url-advice)
@@ -238,6 +252,7 @@
(my-package my-web
(:delay 60)
+ (my-setq-from-local my-webpage-download-dir)
(my-keybind eww-mode-map
"N" #'my-eww-next-path
"P" #'my-eww-prev-path
@@ -245,9 +260,36 @@
"T" #'my-eww-top-path
"b" #'my-eww-switch-by-title)
(my-keybind global-map "\C-c\C-o" #'my-browse-url-at-point)
- (my-override browse-url)
+ (my-setq-from-local my-newscorp-au-amp-nk)
+ (add-to-list 'browse-url-handlers
+ `(my-newscorp-au-url-p
+ . ,(lambda (url &rest _) (my-open-newscorp-au url))))
+ (add-to-list 'browse-url-handlers
+ `("^https?://www.spectator.com.au\\>" .
+ ,(lambda (url &rest _) (my-fetch-browse-as-googlebot url))))
+ (my-setq-from-local my-firefox-profile-dir))
+
+(my-package my-gitlab
+ (:delay 60)
+ (add-to-list 'browse-url-handlers
+ `(my-gitlab-project-url-p
+ . ,(lambda (url &rest _) (my-gitlab-project-infobox url))))
)
+(my-package my-github
+ (:delay 60)
+ (add-to-list 'browse-url-handlers
+ `(my-github-project-url-p
+ . ,(lambda (url &rest _) (my-github-project-infobox url))))
+ )
+
+(my-package my-ytdl
+ (:delay 60)
+ (add-to-list 'browse-url-handlers
+ `(my-ytdl-video-url-p
+ . ,(lambda (url &rest _) (my-ytdl-video-infobox url)))))
+
+
(my-package my-semantic-scholar
(:delay 60))
@@ -280,7 +322,12 @@
;; sx: a stack exchange client
(my-package sx
(:delay 60)
- (require 'sx-load))
+ (require 'sx-load)
+ (require 'my-web)
+ (add-to-list 'browse-url-handlers
+ `(my-stack-overflow-url-p
+ . ,(lambda (url &rest _) (sx-open-link url))))
+ )
;; mastodon.el
(add-to-list 'load-path (locate-user-emacs-file "lisp/mastodon.el/lisp"))
@@ -290,8 +337,13 @@
(add-hook 'mastodon-toot-mode-hook (lambda () (turn-off-auto-fill)))
(mastodon))
-(my-package mastorg
- (:delay 60))
+(my-package fediorg
+ (:delay 60)
+ (require 'my-web)
+ (add-to-list 'browse-url-handlers
+ `(fediorg-post-url-p
+ . ,(lambda (url &rest _) (fediorg-open url))))
+ )
(add-to-list 'load-path (locate-user-emacs-file "lisp/servall/lisp"))
(my-package servall-wikipedia
@@ -307,8 +359,10 @@
(require 'my-utils)
(my-setq-from-local my-libgen-hosts my-libgen-alt-hosts
my-libgen-library-hosts my-libgen-onion-host
+ my-libgen-plus-host
)
- (setq my-libgen-download-dir my-document-incoming-dir)
+ (setq my-libgen-download-dir my-document-incoming-dir
+ my-libfic-download-dir my-document-incoming-dir)
(my-libgen-set-random-hosts))
(my-package my-scihub
@@ -334,7 +388,18 @@
exitter-oauth-consumer-key exitter-oauth-consumer-secret
exitter-access-token exitter-username exitter-password exitter-email
exitter-oauth-token exitter-oauth-token-secret exitter-oauth-token-ctime)
- (setq exitter-debug t)
+ (setq exitter-debug nil)
+ (add-to-list 'browse-url-handlers
+ `(exitter-post-url-p
+ . ,(lambda (url &rest _) (exitter-open-post url))))
+
+ )
+
+(my-package reddio
+ (:delay 60)
+ (add-to-list 'browse-url-handlers
+ `(reddio-reddit-url-p
+ . ,(lambda (url &rest _) (reddio-open-url url))))
)
(provide 'ycp-web)