(require 'org) (defvar mouse-newline-face-height 330) (defun mouse-newline (event) (interactive "e") (posn-set-point (event-end event)) (cond ((org-in-item-p) (insert "\n ") (org-indent-line)) (t (insert "\n")))) (defun mouse-delete-indentation (event) (interactive "e") (posn-set-point (event-end event)) (delete-indentation) (when (eq (char-after) ?\s) (delete-char 1))) (defvar mouse-newline-face-remap-cookie nil) ;; (makunbound 'mouse-newline-mode-map) (define-minor-mode mouse-newline-mode "Insert and delete newline by mouse" nil " Mouse\\n" '(([mouse-1] . mouse-newline) ([mouse-3] . mouse-delete-indentation)) (if mouse-newline-mode (setq mouse-newline-face-remap-cookie (face-remap-add-relative 'default :height mouse-newline-face-height)) (face-remap-remove-relative mouse-newline-face-remap-cookie))) (provide 'mylisp-mouse-newline)