diff options
Diffstat (limited to 'init.el')
-rw-r--r-- | init.el | 93 |
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. | ||
670 | They 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)) | ||