From db2dc67e47b3e06c4498192b8b94b93540bade87 Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Thu, 9 Jan 2025 11:17:38 +0100 Subject: [PATCH] Add `ultra-scroll` to Emacs --- hmModules/emacs/init.el | 11 +++++++---- packages/emacs/packages.nix | 10 ++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index 68ba3d2..25a8175 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -48,8 +48,6 @@ (native-comp-async-report-warnings-errors nil) (inhibit-startup-message t) (visible-bell t) - (scroll-conservatively 101) ;; more than 100 => redisplay doesn't recenter point) - (scroll-margin 3) (temporary-file-directory "~/.emacs-saves/") (backup-directory-alist `(("." . ,temporary-file-directory))) (auto-save-files-name-transforms `((".*" ,temporary-file-directory t))) @@ -84,6 +82,13 @@ (async-shell-command (format "sudo nixos-rebuild --flake fleet %s -L" operation) buffer-name))) ) +(use-package ultra-scroll + :init + (setq scroll-conservatively 101 ; important! + scroll-margin 0) + :config + (ultra-scroll-mode 1)) + (use-package doc-view :custom (doc-view-scale-internally nil) @@ -628,7 +633,6 @@ (add-to-list 'eat-semi-char-non-bound-keys '[?\e 108]) ; M-l (eat-update-semi-char-mode-map) (eat-reload) - :hook (eat-mode . (lambda () (setq-local scroll-margin 0))) :bind (("C-c o t" . eat-project)) ;; FIXME doesn't work well ;; ((eat-mode . compilation-shell-minor-mode)) @@ -666,7 +670,6 @@ (defalias (car alias) (cdr alias))) ccr/eshell-aliases) - :hook (eshell-mode . (lambda () (setq-local scroll-margin 0))) :bind (("C-c o e" . project-eshell) :map eshell-mode-map ("C-r" . eshell-atuin-history))) ;; i.e. just C-r in semi-char-mode diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index a3d9f0d..fde9e30 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -88,6 +88,16 @@ let }; deps = [ ]; }; + ultra-scroll = buildEmacsPackage { + name = "ultra-scroll"; + src = pkgs.fetchFromGitHub { + owner = "jdtsmith"; + repo = "ultra-scroll"; + rev = "78ab497c6568e4a99f34a84b4c9bfe87d1a71d8c"; + hash = "sha256-q/LGP69GRtEEbSpXi9JUoZjr/UV1QMVjQw96M6qxsZU="; + }; + deps = [ ]; + }; }; # *List* containing emacs packages from (M)ELPA