complete-computing-environment/disable_transient_mark.org

38 lines
1.4 KiB
Org Mode

:PROPERTIES:
:ID: cce/disable_transient_mark
:ROAM_ALIASES: "disable transient mark"
:END:
#+TITLE: Effective Emacs Marking
#+PROPERTY: header-args :mkdirp yes :results none
#+PROPERTY: header-args:emacs-lisp :tangle mark.el
#+ARCOLOGY_KEY: cce/mark
#+ARCOLOGY_ALLOW_CRAWL: t
#+ARROYO_EMACS_MODULE: mark
#+ARROYO_MODULE_WANTS: cce/configure_packaging.org
#+begin_src emacs-lisp
(provide 'cce/mark)
#+end_src
I'm starting to turn off [[http://www.gnu.org/software/emacs/manual/html_node/emacs/Disabled-Transient-Mark.html#index-transient_002dmark_002dmode][transient-mark mode]] and move towards a model of actually treating the Mark as more than just a selection tool, and towards treating it as a navigation tool. After disabling transient-mark, I found that the only way to make it useful is to use =visible-mark-mode= which will re-establish the locations of my marks, along with =mark-tools= which is exposed in my [[id:cce/emacs_launcher_hydra][Emacs "Launcher" Hydra]].
#+begin_src emacs-lisp visible-mark
(use-package visible-mark
:config
(setq visible-mark-max 3)
(setq visible-mark-faces
'(visible-mark-active
visible-mark-face1
visible-mark-face2)))
(defun rrix/disable-transient-mark ()
(transient-mark-mode -1)
(visible-mark-mode))
(add-hook 'text-mode-hook 'rrix/disable-transient-mark)
(add-hook 'prog-mode-hook 'rrix/disable-transient-mark)
(use-package mark-tools)
#+end_src