[emacs] update 9 drones
[~bandali/configs] / init.org
index d7c9aa6..7083e9b 100644 (file)
--- a/init.org
+++ b/init.org
@@ -191,7 +191,7 @@ but for now I've decided to keep them enabled. See documentation for
 
 #+begin_src emacs-lisp
 (setq user-full-name "Amin Bandali"
 
 #+begin_src emacs-lisp
 (setq user-full-name "Amin Bandali"
-      user-mail-address "amin@bandali.me")
+      user-mail-address "amin@aminb.org")
 #+end_src
 
 ** Package management
 #+end_src
 
 ** Package management
@@ -327,8 +327,11 @@ it it's own file. While at it, treat themes as safe.
 
 ** Secrets file
 
 
 ** Secrets file
 
+Load the secrets file if it exists, otherwise show a warning.
+
 #+begin_src emacs-lisp
 #+begin_src emacs-lisp
-(load (no-littering-expand-etc-file-name "secrets"))
+(with-demoted-errors
+    (load (no-littering-expand-etc-file-name "secrets")))
 #+end_src
 
 ** Better =$PATH= handling
 #+end_src
 
 ** Better =$PATH= handling
@@ -725,6 +728,7 @@ customizing it.
 
   ;; custom mode state mappings
   (dolist (mspair '((ebdb-mode    . emacs)
 
   ;; custom mode state mappings
   (dolist (mspair '((ebdb-mode    . emacs)
+                    (term-mode    . emacs)
                     (helpful-mode . motion)
                     (view-mode    . motion)))
     (evil-set-initial-state (car mspair) (cdr mspair)))
                     (helpful-mode . motion)
                     (view-mode    . motion)))
     (evil-set-initial-state (car mspair) (cdr mspair)))
@@ -794,6 +798,8 @@ customizing it.
   "a"   '(:ignore t :wk "apps")
   "a i" 'ielm
 
   "a"   '(:ignore t :wk "apps")
   "a i" 'ielm
 
+  "a s" '(:ignore t :wk "shells/terms")
+
   "b"   '(:ignore t :wk "buffers")
   "b k" 'kill-this-buffer
   "b s" 'save-buffer
   "b"   '(:ignore t :wk "buffers")
   "b k" 'kill-this-buffer
   "b s" 'save-buffer
@@ -1259,7 +1265,8 @@ TODO: break this giant source block down into individual org sections.
   :config (column-number-mode))
 
 (progn ;    `text-mode'
   :config (column-number-mode))
 
 (progn ;    `text-mode'
-  (add-hook 'text-mode-hook #'indicate-buffer-boundaries-left))
+  (add-hook 'text-mode-hook #'indicate-buffer-boundaries-left)
+  (add-hook 'text-mode-hook #'abbrev-mode))
 
 (use-package tramp
   :defer t
 
 (use-package tramp
   :defer t
@@ -1836,7 +1843,7 @@ Emacs package that displays available keybindings in popup
 #+begin_src emacs-lisp
 (use-package shell-toggle
   :after eshell
 #+begin_src emacs-lisp
 (use-package shell-toggle
   :after eshell
-  :general (amin--leader-keys "a s" 'amin/shell-toggle)
+  :general (amin--leader-keys "a s e" 'amin/shell-toggle)
   :bind ("C-c e" . amin/shell-toggle)
   :config
   (defun amin/shell-toggle (make-cd)
   :bind ("C-c e" . amin/shell-toggle)
   :config
   (defun amin/shell-toggle (make-cd)
@@ -2107,6 +2114,40 @@ For when I /have to/ use GH.
   :after eshell)
 #+end_src
 
   :after eshell)
 #+end_src
 
+** multi-term
+
+#+begin_src emacs-lisp
+(use-package multi-term
+  :defer 1
+  :general (amin--leader-keys
+             "a s m" 'multi-term
+             "a s p" 'multi-term-dedicated-toggle)
+  :bind ("C-c C-j" . term-line-mode)
+  :config
+  (setq multi-term-program "/bin/screen"
+        ;; TODO: add separate bindings for connecting to existing
+        ;; session vs. always creating a new one
+        multi-term-dedicated-select-after-open-p t
+        multi-term-dedicated-window-height 20
+        multi-term-dedicated-max-window-height 30
+        term-bind-key-alist
+        '(("C-c C-c" . term-interrupt-subjob)
+          ("C-c C-e" . term-send-esc)
+          ("C-k" . kill-line)
+          ("C-y" . term-paste)
+          ("M-f" . term-send-forward-word)
+          ("M-b" . term-send-backward-word)
+          ("M-p" . term-send-up)
+          ("M-n" . term-send-down)
+          ("<C-backspace>" . term-send-backward-kill-word)
+          ("<M-DEL>" . term-send-backward-kill-word)
+          ("M-d" . term-send-delete-word)
+          ("M-," . term-send-raw)
+          ("M-." . comint-dynamic-complete))
+        term-unbind-key-alist
+        '("C-z" "C-x" "C-c" "C-h" "C-y" "<ESC>")))
+#+end_src
+
 * Email
 
 #+begin_src emacs-lisp
 * Email
 
 #+begin_src emacs-lisp
@@ -2207,7 +2248,7 @@ For when I /have to/ use GH.
   :config
   (setq gnus-posting-styles
         '((".*"
   :config
   (setq gnus-posting-styles
         '((".*"
-           (address "amin@bandali.me")
+           (address "amin@aminb.org")
            (body "\nBest,\namin\n")
            (signature-file "~/.signature-amin")
            (eval (setq amin--message-cite-say-hi t)))
            (body "\nBest,\namin\n")
            (signature-file "~/.signature-amin")
            (eval (setq amin--message-cite-say-hi t)))
@@ -2274,12 +2315,15 @@ For when I /have to/ use GH.
         message-send-mail-function 'message-send-mail-with-sendmail
         message-sendmail-envelope-from 'header
         message-dont-reply-to-names
         message-send-mail-function 'message-send-mail-with-sendmail
         message-sendmail-envelope-from 'header
         message-dont-reply-to-names
-        "\\(\\(amin@bandali\\.me\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\)"
+        "\\(\\(.*@aminb\\.org\\)\\|\\(amin@bandali\\.me\\)\\|\\(\\(aminb?\\|mab\\|bandali\\)@gnu\\.org\\)\\|\\(\\(m\\|a\\(min\\.\\)?\\)bandali@uwaterloo\\.ca\\)\\)"
         message-user-fqdn "aminb.org")
   :hook (;; (message-setup . mml-secure-message-sign-pgpmime)
          (message-mode . flyspell-mode)
         message-user-fqdn "aminb.org")
   :hook (;; (message-setup . mml-secure-message-sign-pgpmime)
          (message-mode . flyspell-mode)
-         (message-mode . (lambda () (setq fill-column 65
-                                     message-fill-column 65))))
+         (message-mode . (lambda ()
+                           ;; (setq fill-column 65
+                           ;;       message-fill-column 65)
+                           (make-local-variable 'company-idle-delay)
+                           (setq company-idle-delay 0.2))))
   ;; :custom-face
   ;; (message-header-subject ((t (:foreground "#111" :weight semi-bold))))
   ;; (message-header-to      ((t (:foreground "#111" :weight normal))))
   ;; :custom-face
   ;; (message-header-subject ((t (:foreground "#111" :weight semi-bold))))
   ;; (message-header-to      ((t (:foreground "#111" :weight normal))))
@@ -2342,9 +2386,10 @@ I tried using =borg-elpa= instead of doing it like this, but it added
   :load-path "lisp/bbdb"
   :init
   (load (expand-file-name "lisp/bbdb/bbdb-autoloads.el" user-emacs-directory))
   :load-path "lisp/bbdb"
   :init
   (load (expand-file-name "lisp/bbdb/bbdb-autoloads.el" user-emacs-directory))
-  (bbdb-mua-auto-update-init 'message)
-  (setq bbdb-mua-auto-update-p 'query)
-  (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus))
+  ;; (bbdb-mua-auto-update-init 'message)
+  (setq bbdb-mua-auto-update-p 'query
+        bbdb-complete-mail nil)
+  (bbdb-initialize 'gnus 'message))
 #+end_src
 
 ** COMMENT message-x
 #+end_src
 
 ** COMMENT message-x