From 200692bb1fb8acdcc467862d92a1d24ac3e381bc Mon Sep 17 00:00:00 2001 From: jao Date: Tue, 7 Jun 2022 23:48:59 +0100 Subject: desorgification --- attic/orgs/misc.org | 255 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 255 insertions(+) create mode 100644 attic/orgs/misc.org (limited to 'attic/orgs/misc.org') diff --git a/attic/orgs/misc.org b/attic/orgs/misc.org new file mode 100644 index 0000000..3a31d6a --- /dev/null +++ b/attic/orgs/misc.org @@ -0,0 +1,255 @@ +* corfu + #+begin_src emacs-lisp + (use-package corfu + :ensure t + :demand t + :init (setq corfu-echo-documentation 0.25 + corfu-cycle t + corfu-count 15 + corfu-quit-no-match t + corfu-auto t + corfu-commit-predicate nil + corfu-preview-current nil + corfu-preselect-first t + corfu-min-width 20 + corfu-max-width 100) + :config + + ;; show eldoc string immediately after accepted completion too + (with-eval-after-load "eldoc" + (eldoc-add-command-completions "corfu-")) + + (defun jao-corfu-enable-no-auto () + (setq-local corfu-auto nil) + (corfu-mode 1)) + + (defmacro jao-corfu-no-auto (mode) + (let ((mode-name (intern (format "%s-mode" mode))) + (hook-name (intern (format "%s-mode-hook" mode)))) + `(with-eval-after-load ',mode + (add-to-list 'corfu-excluded-modes ',mode-name) + (add-hook ',hook-name #'jao-corfu-enable-no-auto)))) + + (jao-corfu-no-auto eshell) + ;; (add-to-list 'corfu-excluded-modes 'notmuch-message-mode) + + (defun jao-corfu--active-p () + (and (>= corfu--index 0) (/= corfu--index corfu--preselect))) + + (defun jao-corfu-quit-or-insert () + (interactive) + (if (jao-corfu--active-p) (corfu-insert) (corfu-quit))) + + (defun jao-corfu-quit-or-previous () + (interactive) + (if (jao-corfu--active-p) + (corfu-previous) + (corfu-quit) + (previous-line))) + + :bind (:map corfu-map + ("C-" . corfu-insert) + ("\r" . jao-corfu-quit-or-insert) + ("C-p" . jao-corfu-quit-or-previous))) + + (defun corfu-in-minibuffer () + (when (not (bound-and-true-p vertico--input)) (corfu-mode 1))) + + (when (display-graphic-p) + (add-hook 'minibuffer-setup-hook #'corfu-in-minibuffer 1) + (global-corfu-mode 1)) + + #+end_src +* erc +*** package + #+begin_src emacs-lisp + (use-package erc + :init + (setq erc-modules + '(autojoin + button + dcc + fill + irccontrols + match + move-to-prompt + netsplit + networks + noncommands + notify + pcomplete + ring + services + stamp + track + truncate)) + + (setq erc-auto-query 'bury + erc-autojoin-channels-alist `(("libera.chat" ,@jao-libera-channels)) + erc-away-nickname "jao" + erc-button-buttonize-nicks t + erc-common-server-suffixes '(("libera.chat$" . "lb")) + erc-current-nick-highlight-type 'nick-or-keyword + erc-email-userid (car jao-mails) + erc-fill-column 84 + erc-fill-prefix " " + erc-format-nick-function 'erc-format-@nick + erc-header-line-face-method t + erc-header-line-format nil ;; "%l %o" + erc-header-line-uses-tabbar-p nil + erc-hide-list '("JOIN" "PART" "QUIT") + erc-hide-timestamps nil + erc-input-line-position -1 + erc-insert-timestamp-function 'erc-insert-timestamp-right + erc-join-buffer 'bury + erc-kill-buffer-on-part t + erc-kill-queries-on-quit t + erc-log-channels-directory nil + erc-mode-line-away-status-format "(a)" + erc-mode-line-format "%t" + erc-nick "jao" + erc-notice-highlight-type 'all + erc-notice-prefix "- " + erc-notify-signoff-hook 'erc-notify-signoff + erc-notify-signon-hook 'erc-notify-signon + erc-pcomplete-nick-postfix "," + erc-rename-buffers t + erc-server-send-ping-timeout 60 + erc-prompt ":" + erc-prompt-for-nickserv-password nil + erc-use-auth-source-for-nickserv-password t + erc-prompt-for-password nil + erc-public-away-p t + erc-server "irc.libera.chat" + erc-server-coding-system '(utf-8 . undecided) + erc-server-reconnect-attempts 10 + erc-server-reconnect-timeout 10 + erc-timestamp-format "%H:%M" + erc-timestamp-only-if-changed-flag t + erc-timestamp-right-column 84 + erc-user-full-name "https://jao.io" + erc-user-mode "+i" + erc-whowas-on-nosuchnick t) + + :config + + (define-minor-mode ncm-erc-mode "" nil + (:eval (format " [%s]" (hash-table-count erc-channel-users)))) + + (add-hook 'erc-mode-hook (lambda () (ncm-erc-mode 1))) + (add-hook 'erc-mode-hook (lambda () (auto-fill-mode -1)))) + #+end_src +*** no angles + #+begin_src emacs-lisp + (defun jao-erc--no-angles (old-func &rest args) + (let ((msg (apply old-func args))) + (replace-regexp-in-string "^<\\([^>]+\\)>" "(\\1)" msg))) + + (with-eval-after-load "erc" + (modify-syntax-entry ?\( "." erc-mode-syntax-table) + (modify-syntax-entry ?\) "." erc-mode-syntax-table) + (advice-add 'erc-format-privmessage :around #'jao-erc--no-angles) + (advice-add 'erc-format-my-nick :around #'jao-erc--no-angles)) + #+end_src +*** tracking + #+begin_src emacs-lisp + (defun jao-erc-track-shorten (names) + (let ((names (erc-track-shorten-names names))) + (mapcar (lambda (n) (string-remove-prefix "#" n)) names))) + + (setq erc-track-exclude-server-buffer t + erc-track-exclude-types '("NICK" "JOIN" "PART" "QUIT" "MODE" "KICK") + erc-track-remove-disconnected-buffers t + erc-track-shorten-aggressively t ;; 'max + erc-track-shorten-function #'jao-erc-track-shorten + erc-track-switch-direction 'importance + erc-track-visibility nil ;; t all, nil only selected frame + erc-track-position-in-mode-line nil + erc-track-enable-keybindings nil ;; 'ask + erc-track-faces-priority-list '(erc-error-face + erc-current-nick-face + erc-pal-face + erc-direct-msg-face + erc-nick-msg-face + erc-default-face + erc-action-face + erc-notice-face)) + (defun jao-track-erc-buffers () + (dolist (e erc-modified-channels-alist) + (tracking-add-buffer (car e) (list (cddr e))))) + + (with-eval-after-load "erc-track" + (require 'tracking nil t) + (add-hook 'exwm-workspace-switch-hook #'erc-modified-channels-update) + (add-hook 'erc-track-list-changed-hook #'jao-track-erc-buffers)) + + (jao-shorten-modes 'erc-mode) + (jao-tracking-faces 'erc-error-face + 'erc-pal-face + 'erc-current-nick-face + 'erc-direct-msg-face) + #+end_src +*** commands (/recover &co.) + #+begin_src emacs-lisp + (defun erc-cmd-RECOVER (&rest ignore) + "Recover nick" + (let ((fn (jao--get-user/password "freenode"))) + (erc-cmd-MSG (format "nickserv IDENTIFY %s %s" (car fn) (cadr fn))) + (erc-cmd-MSG (format "nickserv GHOST %s" (car fn))) + (erc-cmd-MSG (format "nickserv RELEASE %s" (car fn))) + (erc-cmd-NICK (car fn)))) + #+end_src +*** startup + #+begin_src emacs-lisp + (defun jao-erc (&optional yes) + (interactive "P") + ;; (when (or yes (y-or-n-p "Connect to bitlbee using ERC? ")) + ;; (erc-select :server "localhost")) + (when (or yes (y-or-n-p "Connect to libera using ERC? ")) + (erc-select :server "irc.libera.chat"))) + #+end_src +* dtache + #+begin_src emacs-lisp + (use-package dtache + :ensure t + :hook (after-init . dtache-setup)) + + (use-package dtache-eshell + :after dtache + :hook (eshell-mode . dtache-eshell-mode)) + + (use-package dtache-consult + :after (consult dtache) + :bind ([remap dtache-open-session] . dtache-consult-session)) + #+end_src +* signel + #+begin_src emacs-lisp :tangle no + (jao-load-org "lib/net/signel.org") + (with-eval-after-load "tracking" + (jao-tracking-faces 'signel-notification) + (jao-shorten-modes 'signel-chat-mode)) + (setq signel-report-deliveries t) + #+end_src +* cdlatex + #+begin_src emacs-lisp + (use-package cdlatex + :ensure t + :hook ((org-mode . org-cdlatex-mode)) + :diminish ((cdlatex-mode . " £") + (org-cdlatex-mode . " £"))) + #+end_src +* maps + #+begin_src emacs-lisp + (use-package osm + :ensure t + :init + (with-eval-after-load 'org (require 'osm-ol)) + :config + (transient-define-prefix jao-transient-osm () + ["Open Street Maps" + ("s" "search" osm-search) + ("g" "goto" osm-goto) + ("b" "jump to bookmark" osm-bookmark-jump) + ("t" "server" osm-server)]) + :bind ("C-c M" . #'jao-transient-osm)) + #+end_src -- cgit v1.2.3