Como comentó mbork, puede usar delight.el para modificar o deshabilitar selectivamente el texto de modo menor (y de hecho mayor) en la línea de modo.
Una de las ventajas es que se encarga de eval-after-load
(que necesita escribir manualmente con diminish.el en la mayoría de los casos de uso), lo que hace que la configuración sea más limpia. Todavía necesita la misma información, el nombre del modo y la biblioteca que lo implementa (que Emacs le dirá si le pregunta sobre el modo), pero puede resumirlo todo en una sola forma:
(require 'delight)
(delight '((some-mode nil "some-library")
(some-other-mode nil "some-other-library")))
(O siga el enlace de arriba para ver algunos ejemplos de uso real).
Recomendaría adoptar este enfoque, porque incluso si no desea la mayoría de los textos más ligeros en modo menor, existe una buena posibilidad de que encuentre algunos de ellos útiles (y aún puede modificarlos para que sean más cortos).
Si realmente desea eliminar todo el texto más ligero del modo menor (y nuevamente, no lo recomiendo), puede modificar la mode-line-modes
variable. Las variables de línea de modo cambiaron hace un tiempo, por lo que es posible que desee usar M-x find-variable RET mode-line-modes RET
y luego adaptar manualmente su definición predeterminada, editando la sección correspondiente minor-modes-alist
.
Por supuesto, necesitaría mantenerlo, lo que no es tan rápido, por lo que podría preferir reemplazar el minor-mode-alist
símbolo dentro del valor existente. Lo siguiente es algo específico de la implementación, pero ciertamente es mejor que configurarlo mode-line-modes
en su totalidad, y puede activarlo y desactivarlo.
(define-minor-mode minor-mode-blackout-mode
"Hides minor modes from the mode line."
t)
(catch 'done
(mapc (lambda (x)
(when (and (consp x)
(equal (cadr x) '("" minor-mode-alist)))
(let ((original (copy-sequence x)))
(setcar x 'minor-mode-blackout-mode)
(setcdr x (list "" original)))
(throw 'done t)))
mode-line-modes))
(global-set-key (kbd "C-c m") 'minor-mode-blackout-mode)