diff options
author | Alexander Gramiak <agrambot@gmail.com> | 2019-04-03 14:06:45 -0600 |
---|---|---|
committer | Alexander Gramiak <agrambot@gmail.com> | 2019-04-06 22:43:59 -0600 |
commit | b68405405e5ee4ce7326e6ef32afbde48bafd7fe (patch) | |
tree | dc110034639bf592204ee1dab0700b5f825c22ce /lisp/emulation | |
parent | cffc04c48dfed59ab9d958b9b64948d5fa491fbe (diff) | |
download | emacs-b68405405e5ee4ce7326e6ef32afbde48bafd7fe.tar.gz emacs-b68405405e5ee4ce7326e6ef32afbde48bafd7fe.tar.bz2 emacs-b68405405e5ee4ce7326e6ef32afbde48bafd7fe.zip |
Introduce new defcustom for terminal CUA rectangle commands
This allows a user to set a non-meta modifier for their terminal
should his/her terminal support it. See bug#35058 for background on
this change.
* lisp/emulation/cua-base.el (cua-rectangle-terminal-modifier-key):
New defcustom.
* lisp/emulation/cua-base.el (cua--shift-control-x-prefix): Use new
defcustom.
Diffstat (limited to 'lisp/emulation')
-rw-r--r-- | lisp/emulation/cua-base.el | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el index 302ef123865..105e1ab43d8 100644 --- a/lisp/emulation/cua-base.el +++ b/lisp/emulation/cua-base.el @@ -427,7 +427,7 @@ and after the region marked by the rectangle to search." (defcustom cua-rectangle-modifier-key 'meta "Modifier key used for rectangle commands bindings. -On non-window systems, always use the meta modifier. +On non-window systems, use `cua-rectangle-terminal-modifier-key'. Must be set prior to enabling CUA." :type '(choice (const :tag "Meta key" meta) (const :tag "Alt key" alt) @@ -435,6 +435,16 @@ Must be set prior to enabling CUA." (const :tag "Super key" super)) :group 'cua) +(defcustom cua-rectangle-terminal-modifier-key 'meta + "Modifier key used for rectangle commands bindings in terminals. +Must be set prior to enabling CUA." + :type '(choice (const :tag "Meta key" meta) + (const :tag "Alt key" alt) + (const :tag "Hyper key" hyper) + (const :tag "Super key" super)) + :group 'cua + :version "27.1") + (defcustom cua-enable-rectangle-auto-help t "If non-nil, automatically show help for region, rectangle and global mark." :type 'boolean @@ -1237,10 +1247,9 @@ If ARG is the atom `-', scroll upward by nearly full screen." (defun cua--init-keymaps () ;; Cache actual rectangle modifier key. (setq cua--rectangle-modifier-key - (if (and cua-rectangle-modifier-key - (memq window-system '(x))) - cua-rectangle-modifier-key - 'meta)) + (if (eq (framep (selected-frame)) t) + cua-rectangle-terminal-modifier-key + cua-rectangle-modifier-key)) ;; C-return always toggles rectangle mark (define-key cua-global-keymap cua-rectangle-mark-key 'cua-set-rectangle-mark) (unless (eq cua--rectangle-modifier-key 'meta) |