From 08bdb9d3a2f96319055099f42fed96d3bb3271a7 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:15:16 -0500 Subject: Fix eshell... I think Eshell's loading order is so confusing --- init.el | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 4ad55a9..a1536c5 100644 --- a/init.el +++ b/init.el @@ -446,12 +446,10 @@ (:local-set outline-regexp eshell-prompt-regexp page-delimiter eshell-prompt-regexp) - (:bind "C-d" #'eshell-quit-or-delete-char) - (:hook #'eshell-arg-hist-mode (defun eshell-mode@setup () - (unless (bound-and-true-p eshell-customizations-loaded) - (load (expand-file-name "eshell" user-emacs-directory)))))) + (require 'eshellrc (locate-user-emacs-file "eshell") :noerror) + (:bind "C-d" #'eshell-quit-or-delete-char)))) (setup eww (:also-load acdw-eww) -- cgit 1.4.1-21-gabe81 From d134922c7c5ff3ff9f86cb0c04100bdd5436c754 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:16:18 -0500 Subject: Add open-paragraph --- init.el | 2 +- lisp/acdw.el | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'init.el') diff --git a/init.el b/init.el index a1536c5..2361107 100644 --- a/init.el +++ b/init.el @@ -1222,7 +1222,7 @@ specific to most general, they are these: (setup (:straight crux) (:global "C-o" #'crux-smart-open-line - "M-o" #'crux-smart-open-line-above + "M-o" #'open-paragraph "C-M-\\" #'crux-cleanup-buffer-or-region "C-x 4 t" #'crux-transpose-windows) diff --git a/lisp/acdw.el b/lisp/acdw.el index 969b6c8..cc73071 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -862,6 +862,23 @@ When called with PREFIX, just kill Emacs without confirmation." (let ((b (get-buffer (if (consp b) (car b) b)))) (member (buffer-local-value 'major-mode b) modes))))) (pop-to-buffer (read-buffer "Buffer: " nil t pred)))) + +;;; BLAH + +(defun open-paragraph () + "Open a paragraph after point. +A paragraph is defined as continguous non-empty lines of text +surrounded by empty lines, so opening a paragraph means to make +three blank lines, then place the point on the second one." + (interactive) + ;; Go to next blank line. This /isn't/ `end-of-paragraph-text' because + ;; that's weird with org, and I'm guessing other modes too. + (while (not (looking-at "^$")) + (forward-line 1)) + (newline) + (delete-blank-lines) + (newline 2) + (previous-line)) (provide 'acdw) ;;; acdw.el ends here -- cgit 1.4.1-21-gabe81 From 14e4e5d05025d34165ae39ade6a18cf50b4fdf8d Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:16:55 -0500 Subject: Fix up org-mode config --- init.el | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 2361107..5217556 100644 --- a/init.el +++ b/init.el @@ -1914,7 +1914,7 @@ browser defined in `browse-url-secondary-browser-function'." org-clock-clocked-in-display 'mode-line org-clock-frame-title-format (cons '(t org-mode-line-string) (cons " --- " frame-title-format)) - ;;org-clock-string-limit 7 ; gives time and not title + org-clock-string-limit 25 ; gives enough information org-clock-persist t org-confirm-babel-evaluate nil org-cycle-separator-lines 0 @@ -1961,12 +1961,24 @@ browser defined in `browse-url-secondary-browser-function'." (:unbind "C-j" ; org-return-and-maybe-indent "M-j") - (:local-set unfill-fill-function #'org-fill-paragraph) + (:local-set unfill-fill-function #'org-fill-paragraph + wc-count-words-function + (lambda (start end) "Count words stupidly with a limit." + (acdw-org/count-words-stupidly start + end + 999))) (with-eval-after-load 'org-export (:option (append org-export-filter-final-output-functions) #'org-export-remove-zero-width-spaces)) + (:local-hook before-save-hook + (defun org/before-save@fix-blank-lines () + (acdw-org/fix-blank-lines t)) + before-save-hook + (defun org/before-save@align-tags () + (org-align-tags :all))) + (:hook ;; #'variable-pitch-mode ;; (defun org-mode@before-save@fill-buffer () @@ -1978,22 +1990,23 @@ browser defined in `browse-url-secondary-browser-function'." ;; This is super ugly because I need to add a function to ;; `before-save-hook', but only in org-mode buffers. So I make a hook ;; to make a hook. I'm sure there's a better way to do this. - (defun org-mode@fix-blank-lines-on-save () - (add-hook 'before-save-hook - (defun acdw-org/fix-blank-lines-in-buffer () - (acdw-org/fix-blank-lines t)) - 0 :local)) + ;; (defun org-mode@fix-blank-lines-on-save () + ;; (add-hook 'before-save-hook + ;; (defun acdw-org/fix-blank-lines-in-buffer () + ;; (acdw-org/fix-blank-lines t)) + ;; 0 :local)) - (defun org-mode@wc-stupid () - (unless (and wc-mode - (> 0 (+ (or wc-orig-words 0) - (or wc-words-delta 0))))) - (setq-local - wc-count-words-function - (lambda (start end) "Count words stupidly with a limit." - (acdw-org/count-words-stupidly start - end - 999))))) + ;; (defun org-mode@wc-stupid () + ;; (unless (and wc-mode + ;; (> 0 (+ (or wc-orig-words 0) + ;; (or wc-words-delta 0))))) + ;; (setq-local + ;; wc-count-words-function + ;; (lambda (start end) "Count words stupidly with a limit." + ;; (acdw-org/count-words-stupidly start + ;; end + ;; 999)))) + ) (with-eval-after-load 'org (org-clock-persistence-insinuate)) -- cgit 1.4.1-21-gabe81 From 46e1d53222ab07825235aeb9c5f21e2ad90fa545 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:17:10 -0500 Subject: Fix bug and add bindings --- init.el | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 5217556..546a05a 100644 --- a/init.el +++ b/init.el @@ -2322,8 +2322,11 @@ the default is \"/\"." (list (propertize " " 'display - '((space :align-to - ,(unless visual-fill-column-mode 0)))) + '((space + :align-to + ,(unless + (bound-and-true-p visual-fill-column-mode) + 0)))) (funcall topsy-fn)))))) (setup (:straight trashed) @@ -2419,7 +2422,15 @@ If used with a numeric prefix argument N, N backticks will be inserted." (setq-local indicate-empty-lines nil indicate-buffer-boundaries nil) (acdw/setup-fringes)))) - (:advise text-scale-adjust :after #'visual-fill-column-adjust)) + (:advise text-scale-adjust :after #'visual-fill-column-adjust) + ;; Fix bindings + (when (bound-and-true-p mouse-wheel-mode) + (with-eval-after-load 'visual-fill-column + (dolist (margin '(right-margin left-margin)) + (dolist (event '(wheel-down wheel-up)) + (define-key visual-fill-column-mode-map + (vector margin event) + #'mwheel-scroll)))))) (setup (:straight visual-regexp) (:global "M-%" #'vr/query-replace)) -- cgit 1.4.1-21-gabe81 From d054567cd1325c680b080a334728e7c6e1a59b7a Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:17:23 -0500 Subject: Remove circe highlight --- init.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 546a05a..aac4e7c 100644 --- a/init.el +++ b/init.el @@ -1070,8 +1070,9 @@ specific to most general, they are these: (with-eval-after-load 'circe (:face circe-nick-highlight-face ((t (:inherit (modus-themes-hl-line modus-themes-bold)))) - circe-my-message-face - ((t (:inherit (modus-themes-slant)))))) + ;; circe-my-message-face + ;; ((t (:inherit (modus-themes-slant)))) + )) (:bind "C-c C-p" #'circe-command-PART "C-l" #'lui-track-jump-to-indicator -- cgit 1.4.1-21-gabe81 From 577a229bc4e5019a118db2abfd621b5d327479fc Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 11:17:37 -0500 Subject: Un-banish the mouse --- init.el | 3 --- 1 file changed, 3 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index aac4e7c..a48723b 100644 --- a/init.el +++ b/init.el @@ -678,9 +678,6 @@ specific to most general, they are these: ;; -> mouse-1 /always/ follows link (:option mouse-1-click-follows-link t)) -(setup mouse-avoidance - (mouse-avoidance-mode 'banish)) - (setup page (:option page-delimiter (rx bol (or "\f" ";;;") -- cgit 1.4.1-21-gabe81 From c434a7623d27ce855449fec81a1a8a69fbccdd78 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:28:26 -0500 Subject: Add nyan-mode I forked it to improve it! --- init.el | 10 ++++++++++ lisp/acdw-modeline.el | 7 +++++++ 2 files changed, 17 insertions(+) (limited to 'init.el') diff --git a/init.el b/init.el index 22c06f8..2347ac8 100644 --- a/init.el +++ b/init.el @@ -1822,6 +1822,15 @@ browser defined in `browse-url-secondary-browser-function'." (:option nov-text-width fill-column) (:file-match (rx ".epub" eos))) +(setup (:straight (nyan-mode + :host github :repo "TeMPOraL/nyan-mode" + :fork (:host github :repo "duckwork/nyan-mode") + :files ("nyan-mode.el" "img"))) + (:option nyan-animate-nyancat nil + nyan-bar-length 20 + nyan-minimum-window-width fill-column) + (nyan-mode +1)) + ;; (setup (:straight olivetti) ;; (:option olivetti-body-width (+ fill-column 4) ;; olivetti-minimum-body-width fill-column) @@ -2181,6 +2190,7 @@ the default is \"/\"." acdw-modeline/buffer-name acdw-modeline/vc-branch acdw-modeline/wc + acdw-modeline/nyan-cat acdw-modeline/position ) (;; right acdw-modeline/track diff --git a/lisp/acdw-modeline.el b/lisp/acdw-modeline.el index 573a964..a9020c5 100644 --- a/lisp/acdw-modeline.el +++ b/lisp/acdw-modeline.el @@ -82,6 +82,13 @@ Otherwise, cdr should be a function that takes two points (see `count-words')." (minions-minor-modes-menu))))) 'mouse-face 'mode-line-highlight))) +(defun acdw-modeline/nyan-cat () + "Display the nyan cat from function `nyan-mode' in the mode-line." + (when (and (bound-and-true-p nyan-mode) + (eq (bound-and-true-p actually-selected-window) + (get-buffer-window))) + '(" " (:eval (list (nyan-create)))))) + (defun acdw-modeline/modified () ; modified from `simple-modeline' "Displays a color-coded buffer modification/read-only indicator in the mode-line." -- cgit 1.4.1-21-gabe81 From cbb2664667aab148868e3f20532d4823fe5e8a44 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:28:57 -0500 Subject: Change pulse-line to pulse-line-current-window It doesn't currently work, but maybe will be easier to change when I'm ready... --- init.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 2347ac8..bafbc0b 100644 --- a/init.el +++ b/init.el @@ -723,16 +723,21 @@ specific to most general, they are these: pulse-delay 0.5 pulse-iterations 1) - (defun pulse-line (&rest _) - "Pulse the current line." - (pulse-momentary-highlight-one-line (point))) + ;; XXX: this doesn't work yet. I only want to pulse the line in the active + ;; window, so when I have the same buffer viewed in multiple windows I can + ;; still see where my cursor is. To see the issue, C-x 2 then C-x o a few + ;; times. + (defun pulse-line-current-window (&rest _) + "Pulse the current line, but only if this window is active." + (pulse-momentary-highlight-one-line (window-point (selected-window)))) (dolist (func '(scroll-up-command scroll-down-command - recenter-top-bottom other-window + recenter-top-bottom + other-window switch-to-buffer redraw-frame)) - (advice-add func :after #'pulse-line))) + (advice-add func :after #'pulse-line-current-window))) (setup re-builder (require 'acdw-re) -- cgit 1.4.1-21-gabe81 From 2ecdd95e5deeb574640f6f20707995c326fa2e35 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:29:38 -0500 Subject: Add actually-selected-window --- init.el | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'init.el') diff --git a/init.el b/init.el index bafbc0b..ee4c959 100644 --- a/init.el +++ b/init.el @@ -969,6 +969,11 @@ specific to most general, they are these: :repo "willvaughn/emacs-0x0")) (:option 0x0-default-server 'ttm)) +(setup (:straight (actually-selected-window + :host github + :repo "duckwork/actually-selected-window.el")) + (actually-selected-window-mode +1)) + (setup (:straight-when affe (and (or (executable-find "fd") (executable-find "find")) -- cgit 1.4.1-21-gabe81 From f17abf3a098920cd23bdbb8c0cc4d16116443f54 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:29:55 -0500 Subject: Add system-packages --- init.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'init.el') diff --git a/init.el b/init.el index ee4c959..3759b59 100644 --- a/init.el +++ b/init.el @@ -2328,6 +2328,18 @@ the default is \"/\"." (auto-save-visited-mode -1) (super-save-mode +1)) +(setup (:straight-when system-packages + (seq-some #'executable-find + ;; I can't use `system-packages-supported-package-managers' + ;; because, well, the package isn't installed yet. So + ;; ... update this list if any package managers are added. + '("guix" "nix" + "brew" "macports" + "pacman" "emerge" + "zypper" "dnf" + "apt" "aptitude" + "xbps")))) + (setup (:straight-when systemd (executable-find "systemd"))) -- cgit 1.4.1-21-gabe81 From 26fab554bc1d5152587758abf26ec9d82e600f12 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:30:25 -0500 Subject: Change straight-if to straight-when Missed one! --- init.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index 3759b59..e8c3f04 100644 --- a/init.el +++ b/init.el @@ -1425,11 +1425,11 @@ specific to most general, they are these: ;; (t (apply fn url args)))) ) -(setup (:straight-if emacs-everywhere - (and (executable-find "xclip") - (executable-find "xdotool") - (executable-find "xprop") - (executable-find "xwininfo")))) +(setup (:straight-when emacs-everywhere + (and (executable-find "xclip") + (executable-find "xdotool") + (executable-find "xprop") + (executable-find "xwininfo")))) (setup (:straight (embark ; gotta git that fresh fresh :host github -- cgit 1.4.1-21-gabe81 From ee64ffc41f58a7827a77e9a18074084a90ec31b5 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Wed, 6 Oct 2021 16:50:20 -0500 Subject: Un-customize the message-header face --- init.el | 3 --- 1 file changed, 3 deletions(-) (limited to 'init.el') diff --git a/init.el b/init.el index e8c3f04..8b5265a 100644 --- a/init.el +++ b/init.el @@ -1374,9 +1374,6 @@ specific to most general, they are these: (defun elfeed@protocol-update (&rest _) (elfeed-search-fetch nil))) - (:face message-header-subject - ((t (:height 1.5)))) - (:with-mode elfeed-show-mode (:hook #'reading-mode) -- cgit 1.4.1-21-gabe81