summary refs log tree commit diff stats
path: root/init.el
diff options
context:
space:
mode:
Diffstat (limited to 'init.el')
-rw-r--r--init.el93
1 files changed, 73 insertions, 20 deletions
diff --git a/init.el b/init.el index 0011380..f28da00 100644 --- a/init.el +++ b/init.el
@@ -413,13 +413,13 @@
413 ;; Brand new for Emacs 28: see https://ruzkuku.com/texts/emacs-mouse.html 413 ;; Brand new for Emacs 28: see https://ruzkuku.com/texts/emacs-mouse.html
414 ;; Actually, look at this as well: https://www.emacswiki.org/emacs/Mouse3 414 ;; Actually, look at this as well: https://www.emacswiki.org/emacs/Mouse3
415 (when (fboundp 'context-menu-mode) 415 (when (fboundp 'context-menu-mode)
416 ;; (:option context-menu-functions 416 (:option context-menu-functions
417 ;; '(context-menu-ffap 417 '(context-menu-ffap
418 ;; context-menu-region 418 context-menu-region
419 ;; context-menu-undo 419 context-menu-undo
420 ;; context-menu-dictionary)) 420 context-menu-dictionary))
421 (context-menu-mode +1)) 421 (context-menu-mode +1))
422 (dolist (click '( ; Fix scrolling in the margin 422 (dolist (click '(;; Fix scrolling in the margin
423 wheel-down double-wheel-down triple-wheel-down 423 wheel-down double-wheel-down triple-wheel-down
424 wheel-up double-wheel-up triple-wheel-up)) 424 wheel-up double-wheel-up triple-wheel-up))
425 (global-set-key (vector 'right-margin click) 'mwheel-scroll) 425 (global-set-key (vector 'right-margin click) 'mwheel-scroll)
@@ -505,6 +505,8 @@
505 ;; (let ((browse-url-browser-function browse-url-secondary-browser-function)) 505 ;; (let ((browse-url-browser-function browse-url-secondary-browser-function))
506 ;; (apply fn r))) 506 ;; (apply fn r)))
507 (with-eval-after-load 'org 507 (with-eval-after-load 'org
508 (setf (alist-get "\\.x?html?\\'" org-file-apps nil nil #'equal)
509 #'+org-open-html)
508 (org-clock-persistence-insinuate) 510 (org-clock-persistence-insinuate)
509 (org-link-set-parameters "tel" :follow #'+org-tel-open) 511 (org-link-set-parameters "tel" :follow #'+org-tel-open)
510 (setf (alist-get "\\.x?html?\\'" org-file-apps nil nil #'equal) 512 (setf (alist-get "\\.x?html?\\'" org-file-apps nil nil #'equal)
@@ -626,11 +628,52 @@
626 628
627(setup time 629(setup time
628 ;; TODO: +display-time-mode with MOAR customizations 630 ;; TODO: +display-time-mode with MOAR customizations
629 (:option display-time-format "%H:%M %a %e" 631 (:option display-time-default-load-average nil
630 display-time-default-load-average nil
631 display-time-mail-file :disable) 632 display-time-mail-file :disable)
633 (with-eval-after-load 'discord
634 (with-eval-after-load '+tab-bar
635 (:option display-time-string-forms
636 '((propertize (format-time-string "%H:%M %a %e" now)
637 'face '+tab-bar-extra
638 'help-echo (discord-date-string))
639 load
640 (if mail
641 (concat " "
642 (propertize
643 display-time-mail-string
644 'display `(when (and display-time-use-mail-icon
645 (display-graphic-p))
646 ,@display-time-mail-icon
647 ,@(when (and
648 display-time-mail-face
649 (memq
650 (plist-get
651 (cdr display-time-mail-icon)
652 :type)
653 '(pbm xbm)))
654 (let ((bg (face-attribute
655 display-time-mail-face
656 :background)))
657 (when (stringp bg)
658 (list :background bg)))))
659 'face display-time-mail-face))
660 "")
661 " "))))
662
632 (display-time-mode +1)) 663 (display-time-mode +1))
633 664
665(setup tramp
666 (el-patch-feature tramp)
667 (with-eval-after-load 'tramp
668 (el-patch-defun tramp-debug-buffer-command-completion-p (_symbol buffer)
669 "A predicate for Tramp interactive commands.
670They are completed by \"M-x TAB\" only in Tramp debug buffers."
671 (with-current-buffer buffer
672 (el-patch-wrap 2
673 (save-restriction
674 (widen)
675 (string-equal (buffer-substring 1 10) ";; Emacs:")))))))
676
634(setup (:straight 0x0) 677(setup (:straight 0x0)
635 (:option 0x0-default-server 'ttm) 678 (:option 0x0-default-server 'ttm)
636 (with-eval-after-load 'embark 679 (with-eval-after-load 'embark
@@ -1015,7 +1058,7 @@ See also `crux-reopen-as-root-mode'."
1015 (electric-cursor-mode +1)) 1058 (electric-cursor-mode +1))
1016 1059
1017(setup (:straight elfeed) 1060(setup (:straight elfeed)
1018 (:also-load +elfeed) 1061 (:require +elfeed)
1019 (+define-dir elfeed/ (sync/ "emacs/elfeed/" t)) 1062 (+define-dir elfeed/ (sync/ "emacs/elfeed/" t))
1020 (:option 1063 (:option
1021 elfeed-curl-program-name (executable-find "curl") 1064 elfeed-curl-program-name (executable-find "curl")
@@ -1046,10 +1089,7 @@ See also `crux-reopen-as-root-mode'."
1046 "&" #'+elfeed-show-browse-generic 1089 "&" #'+elfeed-show-browse-generic
1047 "RET" #'shr-browse-url) 1090 "RET" #'shr-browse-url)
1048 (:hook #'reading-mode) 1091 (:hook #'reading-mode)
1049 ;; (define-advice elfeed-show-entry (:after (&rest _)) 1092 (+elfeed-update-async-mode +1)))
1050 ;; "Re-flow the entry a short time after showing it."
1051 ;; (run-at-time 0.1 nil #'elfeed-show-refresh))
1052 ))
1053 1093
1054(setup (:straight elfeed-org) 1094(setup (:straight elfeed-org)
1055 (:also-load +org-capture) 1095 (:also-load +org-capture)
@@ -1212,6 +1252,8 @@ See also `crux-reopen-as-root-mode'."
1212(setup (:straight hungry-delete) 1252(setup (:straight hungry-delete)
1213 (:option hungry-delete-chars-to-skip " \t" 1253 (:option hungry-delete-chars-to-skip " \t"
1214 hungry-delete-join-reluctantly nil) 1254 hungry-delete-join-reluctantly nil)
1255 (+with-ensure-after-init
1256 (add-to-list 'hungry-delete-except-modes 'eshell-mode))
1215 (:bind-into paredit 1257 (:bind-into paredit
1216 ;; I define these functions here because they really require both packages 1258 ;; I define these functions here because they really require both packages
1217 ;; to make any sense. So, would I put them in `+hungry-delete' or 1259 ;; to make any sense. So, would I put them in `+hungry-delete' or
@@ -1297,6 +1339,17 @@ See also `crux-reopen-as-root-mode'."
1297 (setf (alist-get 'markdown-mode apheleia-mode-alist) 'markdownfmt) 1339 (setf (alist-get 'markdown-mode apheleia-mode-alist) 'markdownfmt)
1298 (setf (alist-get 'gfm-mode apheleia-mode-alist) 'markdownfmt)))) 1340 (setf (alist-get 'gfm-mode apheleia-mode-alist) 'markdownfmt))))
1299 1341
1342(setup (:straight mastodon)
1343 (:option mastodon-instance-url "https://tiny.tilde.website"
1344 mastodon-client--token-file (.etc "mastodon.plstore")
1345 mastodon-auth-source-file (car auth-sources)
1346 mastodon-tl--enable-proportional-fonts t
1347 mastodon-tl--show-avatars t)
1348 (:hook #'mastodon-async-mode
1349 #'reading-mode
1350 #'hl-line-mode
1351 #'lin-mode))
1352
1300(setup (:straight minions) 1353(setup (:straight minions)
1301 (minions-mode +1)) 1354 (minions-mode +1))
1302 1355
@@ -1649,13 +1702,6 @@ See also `crux-reopen-as-root-mode'."
1649 (sync/ "emacs/snippets" t))) 1702 (sync/ "emacs/snippets" t)))
1650 (yas-global-mode +1)) 1703 (yas-global-mode +1))
1651 1704
1652(setup (:straight zoom-frm))
1653
1654(setup (:straight zzz-to-char)
1655 (:require +zzz-to-char)
1656 (:option zzz-to-char-reach 1024)
1657 (:global "M-z" #'+zzz-to-char))
1658
1659(setup (:straight (ytdious 1705(setup (:straight (ytdious
1660 :host github :repo "spiderbit/ytdious" 1706 :host github :repo "spiderbit/ytdious"
1661 :fork (:host github :repo "duckwork/ytdious"))) 1707 :fork (:host github :repo "duckwork/ytdious")))
@@ -1664,3 +1710,10 @@ See also `crux-reopen-as-root-mode'."
1664 (concat "https://" +invidious-host) 1710 (concat "https://" +invidious-host)
1665 "https://invidious.snopyta.org")) 1711 "https://invidious.snopyta.org"))
1666 (:bind "y" #'+ytdious-watch)) 1712 (:bind "y" #'+ytdious-watch))
1713
1714(setup (:straight zoom-frm))
1715
1716(setup (:straight zzz-to-char)
1717 (:require +zzz-to-char)
1718 (:option zzz-to-char-reach (+bytes 1 :kib))
1719 (:global "M-z" #'+zzz-to-char))