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.
This commit is contained in:
parent
cffc04c48d
commit
b68405405e
2 changed files with 21 additions and 5 deletions
7
etc/NEWS
7
etc/NEWS
|
@ -1252,6 +1252,13 @@ near the current column in Tabulated Lists (see variables
|
|||
+++
|
||||
*** 'text-mode-variant' is now obsolete, use 'derived-mode-p' instead.
|
||||
|
||||
** CUA mode
|
||||
|
||||
---
|
||||
*** New defcustom 'cua-rectangle-terminal-modifier-key'.
|
||||
This defcustom allows for the customization of the modifier key used
|
||||
in a terminal frame.
|
||||
|
||||
|
||||
* New Modes and Packages in Emacs 27.1
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue