diff options
Diffstat (limited to 'init.el')
-rw-r--r-- | init.el | 91 |
1 files changed, 71 insertions, 20 deletions
diff --git a/init.el b/init.el index 7ec390f..f7ce8db 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) |
@@ -624,11 +624,52 @@ | |||
624 | 624 | ||
625 | (setup time | 625 | (setup time |
626 | ;; TODO: +display-time-mode with MOAR customizations | 626 | ;; TODO: +display-time-mode with MOAR customizations |
627 | (:option display-time-format "%H:%M %a %e" | 627 | (:option display-time-default-load-average nil |
628 | display-time-default-load-average nil | ||
629 | display-time-mail-file :disable) | 628 | display-time-mail-file :disable) |
629 | (with-eval-after-load 'discord | ||
630 | (with-eval-after-load '+tab-bar | ||
631 | (:option display-time-string-forms | ||
632 | '((propertize (format-time-string "%H:%M %a %e" now) | ||
633 | 'face '+tab-bar-extra | ||
634 | 'help-echo (discord-date-string)) | ||
635 | load | ||
636 | (if mail | ||
637 | (concat " " | ||
638 | (propertize | ||
639 | display-time-mail-string | ||
640 | 'display `(when (and display-time-use-mail-icon | ||
641 | (display-graphic-p)) | ||
642 | ,@display-time-mail-icon | ||
643 | ,@(when (and | ||
644 | display-time-mail-face | ||
645 | (memq | ||
646 | (plist-get | ||
647 | (cdr display-time-mail-icon) | ||
648 | :type) | ||
649 | '(pbm xbm))) | ||
650 | (let ((bg (face-attribute | ||
651 | display-time-mail-face | ||
652 | :background))) | ||
653 | (when (stringp bg) | ||
654 | (list :background bg))))) | ||
655 | 'face display-time-mail-face)) | ||
656 | "") | ||
657 | " ")))) | ||
658 | |||
630 | (display-time-mode +1)) | 659 | (display-time-mode +1)) |
631 | 660 | ||
661 | (setup tramp | ||
662 | (el-patch-feature tramp) | ||
663 | (with-eval-after-load 'tramp | ||
664 | (el-patch-defun tramp-debug-buffer-command-completion-p (_symbol buffer) | ||
665 | "A predicate for Tramp interactive commands. | ||
666 | They are completed by \"M-x TAB\" only in Tramp debug buffers." | ||
667 | (with-current-buffer buffer | ||
668 | (el-patch-wrap 2 | ||
669 | (save-restriction | ||
670 | (widen) | ||
671 | (string-equal (buffer-substring 1 10) ";; Emacs:"))))))) | ||
672 | |||
632 | (setup (:straight 0x0) | 673 | (setup (:straight 0x0) |
633 | (:option 0x0-default-server 'ttm) | 674 | (:option 0x0-default-server 'ttm) |
634 | (with-eval-after-load 'embark | 675 | (with-eval-after-load 'embark |
@@ -1013,7 +1054,7 @@ See also `crux-reopen-as-root-mode'." | |||
1013 | (electric-cursor-mode +1)) | 1054 | (electric-cursor-mode +1)) |
1014 | 1055 | ||
1015 | (setup (:straight elfeed) | 1056 | (setup (:straight elfeed) |
1016 | (:also-load +elfeed) | 1057 | (:require +elfeed) |
1017 | (+define-dir elfeed/ (sync/ "emacs/elfeed/" t)) | 1058 | (+define-dir elfeed/ (sync/ "emacs/elfeed/" t)) |
1018 | (:option | 1059 | (:option |
1019 | elfeed-curl-program-name (executable-find "curl") | 1060 | elfeed-curl-program-name (executable-find "curl") |
@@ -1044,10 +1085,7 @@ See also `crux-reopen-as-root-mode'." | |||
1044 | "&" #'+elfeed-show-browse-generic | 1085 | "&" #'+elfeed-show-browse-generic |
1045 | "RET" #'shr-browse-url) | 1086 | "RET" #'shr-browse-url) |
1046 | (:hook #'reading-mode) | 1087 | (:hook #'reading-mode) |
1047 | ;; (define-advice elfeed-show-entry (:after (&rest _)) | 1088 | (+elfeed-update-async-mode +1))) |
1048 | ;; "Re-flow the entry a short time after showing it." | ||
1049 | ;; (run-at-time 0.1 nil #'elfeed-show-refresh)) | ||
1050 | )) | ||
1051 | 1089 | ||
1052 | (setup (:straight elfeed-org) | 1090 | (setup (:straight elfeed-org) |
1053 | (:also-load +org-capture) | 1091 | (:also-load +org-capture) |
@@ -1210,6 +1248,8 @@ See also `crux-reopen-as-root-mode'." | |||
1210 | (setup (:straight hungry-delete) | 1248 | (setup (:straight hungry-delete) |
1211 | (:option hungry-delete-chars-to-skip " \t" | 1249 | (:option hungry-delete-chars-to-skip " \t" |
1212 | hungry-delete-join-reluctantly nil) | 1250 | hungry-delete-join-reluctantly nil) |
1251 | (+with-ensure-after-init | ||
1252 | (add-to-list 'hungry-delete-except-modes 'eshell-mode)) | ||
1213 | (:bind-into paredit | 1253 | (:bind-into paredit |
1214 | ;; I define these functions here because they really require both packages | 1254 | ;; I define these functions here because they really require both packages |
1215 | ;; to make any sense. So, would I put them in `+hungry-delete' or | 1255 | ;; to make any sense. So, would I put them in `+hungry-delete' or |
@@ -1295,6 +1335,17 @@ See also `crux-reopen-as-root-mode'." | |||
1295 | (setf (alist-get 'markdown-mode apheleia-mode-alist) 'markdownfmt) | 1335 | (setf (alist-get 'markdown-mode apheleia-mode-alist) 'markdownfmt) |
1296 | (setf (alist-get 'gfm-mode apheleia-mode-alist) 'markdownfmt)))) | 1336 | (setf (alist-get 'gfm-mode apheleia-mode-alist) 'markdownfmt)))) |
1297 | 1337 | ||
1338 | (setup (:straight mastodon) | ||
1339 | (:option mastodon-instance-url "https://tiny.tilde.website" | ||
1340 | mastodon-client--token-file (.etc "mastodon.plstore") | ||
1341 | mastodon-auth-source-file (car auth-sources) | ||
1342 | mastodon-tl--enable-proportional-fonts t | ||
1343 | mastodon-tl--show-avatars t) | ||
1344 | (:hook #'mastodon-async-mode | ||
1345 | #'reading-mode | ||
1346 | #'hl-line-mode | ||
1347 | #'lin-mode)) | ||
1348 | |||
1298 | (setup (:straight minions) | 1349 | (setup (:straight minions) |
1299 | (minions-mode +1)) | 1350 | (minions-mode +1)) |
1300 | 1351 | ||
@@ -1647,13 +1698,6 @@ See also `crux-reopen-as-root-mode'." | |||
1647 | (sync/ "emacs/snippets" t))) | 1698 | (sync/ "emacs/snippets" t))) |
1648 | (yas-global-mode +1)) | 1699 | (yas-global-mode +1)) |
1649 | 1700 | ||
1650 | (setup (:straight zoom-frm)) | ||
1651 | |||
1652 | (setup (:straight zzz-to-char) | ||
1653 | (:require +zzz-to-char) | ||
1654 | (:option zzz-to-char-reach 1024) | ||
1655 | (:global "M-z" #'+zzz-to-char)) | ||
1656 | |||
1657 | (setup (:straight (ytdious | 1701 | (setup (:straight (ytdious |
1658 | :host github :repo "spiderbit/ytdious" | 1702 | :host github :repo "spiderbit/ytdious" |
1659 | :fork (:host github :repo "duckwork/ytdious"))) | 1703 | :fork (:host github :repo "duckwork/ytdious"))) |
@@ -1662,3 +1706,10 @@ See also `crux-reopen-as-root-mode'." | |||
1662 | (concat "https://" +invidious-host) | 1706 | (concat "https://" +invidious-host) |
1663 | "https://invidious.snopyta.org")) | 1707 | "https://invidious.snopyta.org")) |
1664 | (:bind "y" #'+ytdious-watch)) | 1708 | (:bind "y" #'+ytdious-watch)) |
1709 | |||
1710 | (setup (:straight zoom-frm)) | ||
1711 | |||
1712 | (setup (:straight zzz-to-char) | ||
1713 | (:require +zzz-to-char) | ||
1714 | (:option zzz-to-char-reach (+bytes 1 :kib)) | ||
1715 | (:global "M-z" #'+zzz-to-char)) | ||