]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new variable cursor-face-highlight-nonselected-window
authorJimmy Aguilar Mena <spacibba@aol.com>
Thu, 17 Mar 2022 18:16:36 +0000 (19:16 +0100)
committerJimmy Aguilar Mena <spacibba@aol.com>
Thu, 17 Mar 2022 18:36:08 +0000 (19:36 +0100)
* lisp/simple.el (cursor-face-highlight-nonselected-window) : New
custom default to cursor-in-non-selected-windows.
(redisplay--update-cursor-face-highlight) : Extend highlight condition
to consider the new variable.

doc/lispref/text.texi
etc/NEWS
lisp/simple.el

index b7377d3156d05e655f790e9e41366aba4f561384..30036675e109158e187b22a72d5a0a44daf830bd 100644 (file)
@@ -3553,11 +3553,15 @@ unhighlighted text.
 
 @item cursor-face
 @kindex cursor-face @r{(text property)}
-This property is similar to @code{mouse-face} but the face is used the
-cursor (instead of mouse) is on or near the character.  Near has the
-same meaning than in @code{mouse-face} and the highlight only takes
-effect if the mode @code{cursor-face-highlight-mode} is enabled;
-otherwise no highlight is performed.
+This property is similar to @code{mouse-face} but the face is used if
+the cursor (instead of mouse) is on or near the character.  Near has
+the same meaning than in @code{mouse-face} and the highlight only
+takes effect if the mode @code{cursor-face-highlight-mode} is enabled;
+otherwise no highlight is performed.  When the variable
+@code{cursor-face-highlight-nonselected-window} is non-@code{nil} the
+text is highlighted even if the window is not selected similar to
+@code{highlight-nonselected-windows} for the region.  The default
+value is the same of @code{cursor-in-non-selected-windows}.
 
 @item fontified
 @kindex fontified @r{(text property)}
index 9e9ed6cb87f8d333e4d1594e0f76549fbf5fdce3..bb92e463109272e16e223b544cd280139f81b4d0 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1264,7 +1264,9 @@ This allows setting a minimum display width for a region of text.
 +++
 ** New 'cursor-face 'text' property.
 This uses cursor-face instead of the default face when cursor is on or
-near the character and 'cursor-face-highlight-mode' is enabled.
+near the character and 'cursor-face-highlight-mode' is enabled.  The
+variable 'highlight-nonselected-windows' is similar to
+'highlight-nonselected-windows' but for this property.
 
 +++
 ** New event type 'touch-end'.
index a91895907d244bc626300151ef2f42912e11d8bb..42f3a80c3f7e06bf05b7b562871269e38f1e9e80 100644 (file)
@@ -6540,10 +6540,18 @@ The overlay is returned by the function.")
         (unless (equal new rol)
           (set-window-parameter window 'internal-region-overlay new))))))
 
+(defcustom cursor-face-highlight-nonselected-window cursor-in-non-selected-windows
+  "Non-nil means highlight text with `cursor-face' even in nonselected windows.
+This variable is similar to `highlight-nonselected-windows'."
+  :local t
+  :type 'boolean
+  :version "29.1")
+
 (defun redisplay--update-cursor-face-highlight (window)
   "Highlights the overlay used to highlight text with cursor-face."
   (let ((rol (window-parameter window 'internal-cursor-face-overlay)))
-    (if-let (((or (eq window (selected-window))
+    (if-let (((or cursor-face-highlight-nonselected-window
+                  (eq window (selected-window))
                   (and (window-minibuffer-p)
                        (eq window (minibuffer-selected-window)))))
              (pt (window-point window))