Function: doom-modeline-update-persp-name
doom-modeline-update-persp-name is a natively compiled function
defined in doom-modeline-segments.el.
Signature
(doom-modeline-update-persp-name &rest _)
Documentation
Update perspective name in mode-line.
Source Code
;; Defined in /nix/store/1lcicrdd2r4b8rkc91nnn74ymk1jl6yd-emacs-packages-deps/share/emacs/site-lisp/elpa/doom-modeline-20260928.1632/doom-modeline-segments.el
(defun doom-modeline-update-persp-name (&rest _)
"Update perspective name in mode-line."
(setq doom-modeline--persp-name
;; Support `persp-mode', while not support `perspective'
(when (and doom-modeline-persp-name
(bound-and-true-p persp-mode)
(fboundp 'safe-persp-name)
(fboundp 'get-current-persp))
(let* ((persp (get-current-persp))
(name (safe-persp-name persp))
(face (if (and persp
(not (persp-contain-buffer-p (current-buffer) persp)))
'doom-modeline-persp-buffer-not-in-persp
'doom-modeline-persp-name))
(icon (doom-modeline-icon 'octicon "nf-oct-repo" "🖿" "#"
:face `(:inherit ,face :slant normal))))
(when (or doom-modeline-display-default-persp-name
(not (string= persp-nil-name name)))
(concat " "
(propertize (concat (and doom-modeline-persp-icon
(concat icon (doom-modeline-vspc)))
(propertize name 'face face))
'help-echo "mouse-1: Switch perspective
mouse-2: Show help for minor mode"
'mouse-face 'doom-modeline-highlight
'local-map (let ((map (make-sparse-keymap)))
(define-key map [mode-line mouse-1]
#'persp-switch)
(define-key map [mode-line mouse-2]
(lambda ()
(interactive)
(describe-function 'persp-mode)))
map))
" "))))))