diff --git a/init.el b/init.el index ddaf872..a2b8368 100644 --- a/init.el +++ b/init.el @@ -180,7 +180,8 @@ "reddit.com" "twitter.com" "imgur.com" - "pixelfed")) + "pixelfed" + "taskiq")) browse-url-secondary-browser-function) (cons "." ; everything else #'eww-browse-url))) @@ -324,6 +325,9 @@ (:option eldoc-idle-delay 0.1 eldoc-echo-area-use-multiline-p nil)) +(setup elec-pair + (electric-pair-mode +1)) + (setup elisp-mode (:with-mode emacs-lisp-mode ;; -_- (:option eval-expression-print-length nil @@ -530,9 +534,6 @@ (add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)) -(setup elec-pair - (electric-pair-mode +1)) - (setup files (:option auto-save-file-name-transforms `((".*" ,(acdw/dir "auto-save/" t) t)) auto-save-list-file-prefix (acdw/dir "auto-save-list/.saves-" t) @@ -1259,6 +1260,42 @@ specific to most general, they are these: column-number-mode nil file-percentage-mode nil))) +(setup (:straight (command-log-mode + :host github + :repo "positron-solutions/command-log-mode")) + ;; I have many ideas as to how to change this. + (:option clm-window-text-scale 0 + clm-logging-shows-buffer t + clm-log-globally t + clm-exceptions '(self-insert-command) + clm-window-size 0.25) + (el-patch-feature command-log-mode) + (with-eval-after-load 'command-log-mode + (el-patch-defun clm--show-buffer (&optional clear) + "Displays the command log buffer in a window. +CLEAR will clear the buffer if it exists before returning it." + (let ((buffer (clm--setup-buffer clear))) + (let ((win (get-buffer-window buffer))) + (unless (windowp win) + (let ((new-win (el-patch-swap + (split-window-horizontally + (- 0 clm-window-size)) + (if (< (window-pixel-width) (window-pixel-height)) + (split-window-vertically + (- (if (floatp clm-window-size) + (floor (* (window-height) clm-window-size)) + clm-window-size))) + (split-window-horizontally + (- (if (floatp clm-window-size) + (floor (* (window-width) clm-window-size)) + clm-window-size))))))) + (set-window-buffer new-win buffer) + (set-window-dedicated-p new-win t) + (el-patch-add + (with-current-buffer buffer + (setq-local mode-line-format nil))))) + buffer))))) + (setup (:straight (consult :host github :repo "minad/consult")) @@ -1711,6 +1748,11 @@ See also `crux-reopen-as-root-mode'." '("tildegit.org" "tildegit.org/api/v1" "tildegit.org" forge-gitea-repository)))) +(setup (:straight (frowny + :host github + :repo "duckwork/frowny.el")) + (global-frowny-mode +1)) + (setup (:straight gcmh) (:option gcmh-idle-delay 'auto) (gcmh-mode +1)) @@ -1897,11 +1939,6 @@ browser defined in `browse-url-secondary-browser-function'." (append apheleia-mode-alist) '(markdown-mode . markdownfmt) (append apheleia-mode-alist) '(gfm-mode . markdownfmt))))) -(setup (:straight (frowny - :host github - :repo "duckwork/frowny.el")) - (global-frowny-mode +1)) - (setup (:straight (mastodon :host github :repo "mooseyboots/mastodon.el")) @@ -2598,7 +2635,7 @@ If used with a numeric prefix argument N, N backticks will be inserted." (add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy)) (setup (:straight visual-fill-column) - (:option visual-fill-column-width fill-column + (:option visual-fill-column-width (1+ fill-column) visual-fill-column-center-text t (append reading-modes) '(visual-fill-column-mode . +1) (append reading-modes) '(visual-line-mode . +1) @@ -2696,5 +2733,5 @@ If used with a numeric prefix argument N, N backticks will be inserted." "Call `zzz-up-to-char' or `zzz-to-char', PREFIX-depending." (interactive "P") (if prefix - (call-interactively #'zzz-to-char) - (call-interactively #'zzz-up-to-char))))) + (call-interactively #'zzz-up-to-char) + (call-interactively #'zzz-to-char))))) diff --git a/lisp/acdw-circe.el b/lisp/acdw-circe.el index ec15f8e..958ef38 100644 --- a/lisp/acdw-circe.el +++ b/lisp/acdw-circe.el @@ -90,5 +90,17 @@ message the current topic." (message "%s: %s" buf circe-server-killed-confirmation) (kill-buffer))))) +;;; Dumb modes + +(define-minor-mode circe-cappy-hour-mode + "ENABLE CAPPY HOUR IN CIRCE!" + :lighter "CAPPY HOUR" + (when (derived-mode-p 'circe-chat-mode) + (if circe-cappy-hour-mode + (setq-local lui-input-function + (lambda (input) (circe--input (upcase input)))) + ;; XXX: It'd be better if this were more general, but whatever. + (setq-local lui-input-function #'circe--input)))) + (provide 'acdw-circe) ;;; acdw-circe.el ends here diff --git a/lisp/acdw-modeline.el b/lisp/acdw-modeline.el index d9b1c8b..0dc23ff 100644 --- a/lisp/acdw-modeline.el +++ b/lisp/acdw-modeline.el @@ -87,10 +87,16 @@ Otherwise, cdr should be a function that takes two points (see `count-words')." (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)))))) + (when (bound-and-true-p nyan-mode) + (if (eq (bound-and-true-p actually-selected-window) + (get-buffer-window)) + '(" " (:eval (list (nyan-create)))) + `(:propertize " " + display + (space ;; pixel perfect babeeeee + . (:width (,(+ 9 (* 8 (or + (bound-and-true-p nyan-bar-length) + 20)))))))))) (defun acdw-modeline/modified () ; modified from `simple-modeline' "Displays a color-coded buffer modification/read-only diff --git a/lisp/acdw.el b/lisp/acdw.el index df2962a..48ed19b 100644 --- a/lisp/acdw.el +++ b/lisp/acdw.el @@ -510,8 +510,7 @@ first." (insert extracted-heading) (newline 2) - (replace-regexp org-list-full-item-re " -\4") + (replace-regexp org-list-full-item-re "\n\4") (let ((sentence-end-double-space nil)) (unfill-region (point-min) (point-max))) diff --git a/lisp/chd.el b/lisp/chd.el index b301c8d..e1d96cb 100644 --- a/lisp/chd.el +++ b/lisp/chd.el @@ -48,6 +48,14 @@ ;; TODO: implement actual logic. (message "%s" date)) +(defun chd/insert-client () + "Insert the current client at point." + (interactive) + (if-let ((client (org-entry-get nil "CLIENT" :inherit))) + (insert client) + (beep) + (user-error "No client found in current subtree"))) + ;;; NOTES ;; org-protocol: https://orgmode.org/worg/org-contrib/org-protocol.html ;; the bit i wanna pull from TaskIQ: 'document.getElementById("preview")