From 7bb648eb804c6420cd0f76cd8075a0faa30a4bfd Mon Sep 17 00:00:00 2001 From: Jonas Bernoulli Date: Tue, 15 Apr 2025 00:57:37 +0200 Subject: [PATCH] mode-line-modes-delimiters: New option --- etc/NEWS | 5 +++++ lisp/bindings.el | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index b4ac68d3e0b..695166a7dc3 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -336,6 +336,11 @@ single button. The value could also be a list to specify minor mode lighters to hide or show. The default value is nil, which retains the previous behavior of showing all minor mode lighters. +*** New user option 'mode-line-modes-delimiters'. +This option allows changing or removing the delimiters shown around +the major mode and list of minor modes in the mode line. The default +retains the existing behavior of inserting parentheses. + ** Tab Bars and Tab Lines --- diff --git a/lisp/bindings.el b/lisp/bindings.el index 2d6e1579e10..8fde7ad6d4b 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -445,6 +445,15 @@ lighters hidden." :group 'mode-line :version "31.1") +(defcustom mode-line-modes-delimiters '("(" . ")") + "Strings placed around the modes displayed in the mode line. +These elements are placed around `mode-name' and `mode-line-modes'." + :type '(choice (const :tag "No delimiters") + (cons (string :tag "Left delimiter") + (string :tag "Right delimiter"))) + :group 'mode-line + :version "31.1") + (defvar mode-line-minor-modes '(:eval (mode-line--minor-modes)) "Mode line construct for minor mode lighters.") ;;;###autoload @@ -577,7 +586,7 @@ Keymap to display on minor modes.") (let ((recursive-edit-help-echo "Recursive edit, type C-M-c to get out")) (list (propertize "%[" 'help-echo recursive-edit-help-echo) - "(" + '(:eval (car mode-line-modes-delimiters)) `(:propertize ("" mode-name) help-echo "Major mode\n\ mouse-1: Display major mode menu\n\ @@ -591,7 +600,7 @@ mouse-3: Toggle minor modes" 'local-map (make-mode-line-mouse-map 'mouse-2 #'mode-line-widen)) '("" mode-line-minor-modes) - ")" + '(:eval (cdr mode-line-modes-delimiters)) (propertize "%]" 'help-echo recursive-edit-help-echo) " ")) "Mode line construct for displaying major and minor modes.")