summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/system-defaults.el16
-rw-r--r--modules/test-code.el84
2 files changed, 59 insertions, 41 deletions
diff --git a/modules/system-defaults.el b/modules/system-defaults.el
index 7aa07eee..2e7db0bb 100644
--- a/modules/system-defaults.el
+++ b/modules/system-defaults.el
@@ -1,4 +1,4 @@
-;;; system-defaults --- Emacs Non-UI Preferences -*- lexical-binding: t; -*-
+;;; system-defaults --- Emacs Non-UI Preferences -*- lexical-binding: t; coding: utf-8-unix; -*-
;; author: Craig Jennings <c@cjennings.net>
;;; Commentary:
@@ -139,20 +139,6 @@ Return non-nil to indicate the warning was handled."
(global-unset-key (kbd "<pinch>"))
(global-set-key [remap mouse-wheel-text-scale] 'cj/disabled)
-;; disabling mouse prevents accidental mouse moves modifying text
-(use-package inhibit-mouse
- :demand t ;; run immediately
- :hook (after-init . inhibit-mouse-mode)
- :custom
- (inhibit-mouse-adjust-mouse-highlight t)
- (inhibit-mouse-adjust-show-help-function t)
- :bind
- ("C-c M-m" . inhibit-mouse-mode) ;; toggle with C-c M-m
- :config
- (if (daemonp)
- (add-hook 'server-after-make-frame-hook #'inhibit-mouse-mode)
- (inhibit-mouse-mode 1)))
-
;; ------------------------------- Be Quiet(er)! -------------------------------
;; reduces "helpful" instructions that distract Emacs power users.
diff --git a/modules/test-code.el b/modules/test-code.el
index cbccd105..0dc9cbd7 100644
--- a/modules/test-code.el
+++ b/modules/test-code.el
@@ -20,10 +20,10 @@
"Pop to a buffer with a mode among MODES, or the current one if not given."
(interactive)
(let* ((modes (or modes (list major-mode)))
- (pred (lambda (b)
- (let ((b (get-buffer (if (consp b) (car b) b))))
- (member (buffer-local-value 'major-mode b) modes)))))
- (pop-to-buffer (read-buffer "Buffer: " nil t pred))))
+ (pred (lambda (b)
+ (let ((b (get-buffer (if (consp b) (car b) b))))
+ (member (buffer-local-value 'major-mode b) modes)))))
+ (pop-to-buffer (read-buffer "Buffer: " nil t pred))))
(global-set-key (kbd "C-x B") 'cj/buffer-same-mode)
;; --------------------------------- Org Noter ---------------------------------
@@ -75,28 +75,28 @@
(defun cj/move-org-branch-to-roam ()
(interactive)
(when (eq (org-element-type (org-element-at-point)) 'headline)
- (let* ((headline-components (org-heading-components))
- (title (nth 4 headline-components)))
- (setq cj/point (point))
- (org-cut-subtree)
- ;; Switch to org-roam buffer, fill in new node's title.
- (org-roam-node-insert
- :immediate-finish t
- :no-edit t
- ;; Pass the current headline title as the default value.
- :region (cons (point)
- (save-excursion
- (insert title)
- (point))))
- (newline)
- ;; Paste the 'cut' subtree and save buffer.
- (org-yank)
- (save-buffer)
- ;; Go back to the initial buffer and position.
- (switch-to-buffer (other-buffer))
- (goto-char cj/point)
- ;; Kill the org-roam link leftover.
- (kill-whole-line))))
+ (let* ((headline-components (org-heading-components))
+ (title (nth 4 headline-components)))
+ (setq cj/point (point))
+ (org-cut-subtree)
+ ;; Switch to org-roam buffer, fill in new node's title.
+ (org-roam-node-insert
+ :immediate-finish t
+ :no-edit t
+ ;; Pass the current headline title as the default value.
+ :region (cons (point)
+ (save-excursion
+ (insert title)
+ (point))))
+ (newline)
+ ;; Paste the 'cut' subtree and save buffer.
+ (org-yank)
+ (save-buffer)
+ ;; Go back to the initial buffer and position.
+ (switch-to-buffer (other-buffer))
+ (goto-char cj/point)
+ ;; Kill the org-roam link leftover.
+ (kill-whole-line))))
;; ----------------------------------- Mpdel -----------------------------------
@@ -118,6 +118,38 @@
;; (google-this-mode 1)
;; (setq google-this-browse-url-function 'eww-browse-url))
+;; ------------------------------ Mouse Trap Mode ------------------------------
+
+(defvar mouse-trap-mode-map
+ (let* ((prefixes '("" "C-" "M-" "S-" "C-M-" "C-S-" "M-S-" "C-M-S-")) ; modifiers
+ (buttons (number-sequence 1 5)) ; mouse-1..5
+ (types '("mouse" "down-mouse" "drag-mouse"
+ "double-mouse" "triple-mouse"))
+ (wheel '("wheel-up" "wheel-down" "wheel-left" "wheel-right"))
+ (map (make-sparse-keymap)))
+ ;; clicks, drags, double, triple
+ (dolist (type types)
+ (dolist (pref prefixes)
+ (dolist (n buttons)
+ (define-key map (kbd (format "<%s%s-%d>" pref type n)) #'ignore))))
+ ;; wheel
+ (dolist (evt wheel)
+ (dolist (pref prefixes)
+ (define-key map (kbd (format "<%s%s>" pref evt)) #'ignore)))
+ map)
+ "Keymap for `mouse-trap-mode'. Unbinds almost every mouse event.
+Disabling mouse prevents accidental mouse moves modifying text.")
+
+(define-minor-mode mouse-trap-mode
+ "Globally disable most mouse and trackpad events.
+When active, <mouse-*>, <down-mouse-*>, <drag-mouse-*>,
+<double-mouse-*>, <triple-mouse-*>, and wheel events are bound to `ignore',
+with or without C-, M-, S- modifiers."
+ :global t
+ :lighter " 🐭"
+ :keymap mouse-trap-mode-map)
+(global-set-key (kbd "C-c M") #'mouse-trap-mode)
+(mouse-trap-mode 1)
(provide 'test-code)
;;; test-code.el ends here.