summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--emacs/init.el97
1 files changed, 44 insertions, 53 deletions
diff --git a/emacs/init.el b/emacs/init.el
index 8e692d7..8cb4abf 100644
--- a/emacs/init.el
+++ b/emacs/init.el
@@ -65,6 +65,15 @@
 (use-package emoji
   :bind ("C-." . emoji-search))
 
+;; Smooth-ish scrolling with the mouse, and smooth scrolling with C-v and M-v.  Sadly it doesn't work with C-l.
+(use-package pixel-scroll
+  :hook (after-init . pixel-scroll-precision-mode)
+  :custom
+  (pixel-scroll-precision-use-momentum t)
+  (pixel-scroll-precision-interpolate-page t)
+  :bind (([remap scroll-up-command] . pixel-scroll-interpolate-down)
+         ([remap scroll-down-command] . pixel-scroll-interpolate-up)))
+
 ;; Update the calendar.  We want weeks to start on a monday, the first day of the week.  Holidays should be highlighted, and the date format should put the year first.
 (use-package calendar
   :defer t
@@ -103,10 +112,6 @@
 ;; Make tooltip information appear consistently in the echo area
 (setopt tooltip-mode nil)
 
-;; Syntax highlighting
-(setopt global-font-lock-mode t)
-(setopt font-lock-maximum-decoration nil)
-
 ;;; Further options
 (setopt inhibit-startup-screen t
 	mouse-drag-and-drop-region nil
@@ -121,8 +126,9 @@
 
 ;; Nicer tables
 (use-package valign
+  :disabled t
   :after markdown-mode
-  :ensure t
+  ;; :ensure t
   :hook
   ((markdown-mode . valign-mode))
   :custom
@@ -131,7 +137,7 @@
 
 ;; Markdown
 (use-package markdown-mode
-  :ensure t
+  ;; :ensure t
   :mode ("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode)
   :custom
   (markdown-disable-tooltip-prompt t) ; When inserting a link, only prompt for url and link text
@@ -150,11 +156,10 @@
 
 ;; A nicer package for spellchecking
 (use-package jinx
-  :ensure t
+  :disabled t
+  ;; :ensure t
   :hook (text-mode . jinx-mode)
-  :bind
-  ([remap ispell-word] . jinx-correct) ;; replaces ispell-word
-  ("C-M-$" . jinx-languages)
+  :commands (jinx-correct jinx-correct-all)
   :config
   (put 'jinx-overlay 'mouse-face '(jinx-misspelled highlight)) ;; Use standard mouse face for jinx overlays
   (add-to-list 'jinx-exclude-regexps '(t "\\cc")) ;; Don't check chinese characters
@@ -182,7 +187,7 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 (use-package browse-url
   :defer t
   :custom
-  (browse-url-browser-function 'eww-browse-url)
+  (browse-url-browser-function 'noa/record-url)
 	(browse-url-secondary-browser-function 'browse-url-default-browser))
 
 ;; I've had no use for cookies in eww
@@ -199,7 +204,7 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
   (shr-use-colors nil) ;; I like the colours i already have set
   (shr-max-width nil) ;; Don't insert hard linebreaks to wrap paragraphs
   (shr-bullet " • ")
-  (shr-discard-aria-hidden t))	
+  (shr-discard-aria-hidden t))
 
 (use-package eww
   :defer t
@@ -221,13 +226,7 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
   :hook (prog-mode . flymake-mode))
 
 ;; Use a bar cursor and blink it and don't stop blinking it.
-(setopt cursor-type 'bar
-        blink-cursor-mode t
-        blink-cursor-interval 0.7)
-
-;; I have quite a bit of storage and also make bad decisions regularly
-;; People who have used computers in the last forty years or so will likely be familiar with this innovation.
-(setopt delete-by-moving-to-trash t)
+(setopt cursor-type 'bar)
 
 (use-package dired
   :defer t
@@ -235,17 +234,24 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
   (dired-recursive-deletes 'always) ;; Don't ask me things
   (dired-recursive-copies 'always) ;; Don't ask me things
   (dired-dwim-target t) ;; Synergy between two dired windows
+  ;; I have quite a bit of storage and also make bad decisions regularly
+  ;; People who have used computers in the last forty years or so will likely be familiar with this innovation.
+  (delete-by-moving-to-trash t)
+
+
 
   ;; -l is required by dired
   ;; -a to also show dotfiles
-  ;; -v to sort numebrs properly
+  ;; -v to sort numbers properly
   ;; -F to visually distinguish different types of file
   ;; -h for human readable file sizes
   ;; I won't explain the meaning of the long flag.
   (dired-listing-switches "-alvFh --group-directories-first")
 
 ;; By default, don't show dired details
-:hook (dired-mode . dired-hide-details-mode))
+  :hook ((dired-mode . dired-hide-details-mode)
+         (dired-mode . hl-line-mode))
+  )
 
 ;; Show the recursive size of directories
 (use-package dired-du
@@ -284,29 +290,12 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 ;; Don't override display actions when i manually initiate a buffer switch.
 (setopt switch-to-buffer-obey-display-actions t)
 
-;; History
-(setopt history-length 250
-        kill-ring-max 25)
-
-(setopt savehist-file "~/.config/emacs/savehist")
-(setopt savehist-additional-variables
-        '(kill-ring
-          command-history
-          set-variable-value-history
-          custom-variable-history
-          query-replace-history
-          read-expression-history
-          minibuffer-history
-          read-char-history
-          face-name-history
-          bookmark-history
-          file-name-history))
-(setopt savehist-mode t)
-
-(setopt window-divider-mode t)
-(setopt window-divider-default-right-width 1)
-(setopt window-divider-default-bottom-width 1)
-(setopt window-divider-default-places t)
+(use-package frame
+  :hook (after-init . window-divider-mode)
+  :custom
+  (window-divider-default-right-width 1)
+  (window-divider-default-bottom-width 1)
+  (window-divider-default-places t))
 
 ;; Taken from configuration for the vertico stack:
 ;; Add prompt indicator to `completing-read-multiple'.
@@ -329,10 +318,13 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 ;; Hide commands in M-x which do not work in the current mode.
 (setopt read-extended-command-predicate 'command-completion-default-include-p)
 
-(setopt recentf-max-menu-items 25
-        recentf-save-file "~/.config/emacs/recentf"
-        recentf-mode t
-        bookmark-default-file "~/.config/emacs/bookmarks")
+(use-package recentf
+  :hook (after-init . recentf-mode)
+  :custom
+  (recentf-max-menu-items 25)
+  (recentf-save-file "~/.config/emacs/recentf"))
+
+(setopt bookmark-default-file "~/.config/emacs/bookmarks")
 
 ;; My brain is not ready for advanced emacs undo
 (setopt undo-no-redo t)
@@ -344,11 +336,11 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 ;; Backups are pointless in long emacs sessions, but autosaves are useful.
 (setopt remote-file-name-inhibit-auto-save t)
 (setopt remote-file-name-inhibit-auto-save-visited t)
+
 (setopt backup-directory-alist '(("." . "~/.config/emacs/backups/"))
 	make-backup-files nil
 	backup-by-copying t
 	create-lockfiles nil
-	auto-save-mode t
 	auto-save-interval 6  ;; every six keystrokes
 	auto-save-timeout 5 ;; every 5 seconds
 	auto-save-default nil
@@ -358,7 +350,10 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 	;; this will auto save to the current file
 	auto-save-visited-mode t)
 
+;; https://reeds.website/project-write-every-change-in-emacs-buffer-to-disk
+;; See here for a solution using built-in functionality
 (use-package super-save
+  :disabled t
   :ensure t
   :custom
   (super-save-mode t)
@@ -381,10 +376,6 @@ The misspelled word is taken from OVERLAY.  WORD is the corrected word."
 ;; Always give me a line of text when i'm near the edges of the screen
 (setopt scroll-margin 1)
 
-;; This doesn't work well sometimes for some reason, so i've disabled it for now.
-;; (setopt pixel-scroll-precision-mode t
-;;         pixel-scroll-precision-use-momentum t)
-
 ;; Remember my position in files
 (setopt save-place-mode t)