From abc1a38e16e23d482e41f3a7562404e620d0d2da Mon Sep 17 00:00:00 2001 From: Jeremy Dormitzer Date: Thu, 19 Mar 2020 16:56:33 -0400 Subject: [PATCH] Leverage org-roam-titles-cache for centaur-tabs org titles --- emacs/init.org | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/emacs/init.org b/emacs/init.org index d0da659..574575d 100755 --- a/emacs/init.org +++ b/emacs/init.org @@ -2310,12 +2310,14 @@ UI-related keybindings: (centaur-tabs-mode) :config (centaur-tabs-group-by-projectile-project) + ;; Only show tabs in buffers visiting files (advice-add 'centaur-tabs-line :around (lambda (oldfn &rest args) (if (buffer-file-name) (apply oldfn args) (setq header-line-format nil)))) + ;; Enable prefix argument for tab switching keybindings (advice-add 'centaur-tabs-forward :around (lambda (oldfn &rest args) @@ -2329,13 +2331,16 @@ UI-related keybindings: (dotimes (_ current-prefix-arg) (apply oldfn args)) (apply oldfn args)))) + ;; Use Org-mode titles for tab names when possible (advice-add 'centaur-tabs-buffer-tab-label :around (lambda (oldfn tab &rest args) - (if-let ((title (org-get-title - (with-current-buffer (car tab) - (buffer-substring (point-min) - (min (point-max) 200)))))) + (if-let ((title (or (gethash (buffer-file-name (car tab)) + org-roam-titles-cache) + (org-get-title + (with-current-buffer (car tab) + (buffer-substring (point-min) + (min (point-max) 200))))))) (if (> centaur-tabs-label-fixed-length 0) (centaur-tabs-truncate-string centaur-tabs-label-fixed-length (format " %s" title))