Detect project name and use that for the name of the frame

This commit is contained in:
Joseph Ferano 2023-04-11 16:06:29 +07:00
parent 51d1081917
commit 7249fec7b8

View File

@ -1101,15 +1101,24 @@ Ace Window will show a hint if there are more than 2 windows, but I don't really
#+end_src #+end_src
** Projects ** Projects
#+begin_src emacs-lisp #+begin_src emacs-lisp
(defun joe/project-root-override (dir) (setq frame-title-format "%b")
(defun joe/get-project-name (dir)
(let ((override (locate-dominating-file dir ".project.el"))) (let ((override (locate-dominating-file dir ".project.el")))
(if override (if override
(cons 'transient override) (cons 'transient override)
(project-try-vc dir)))) (project-try-vc dir))))
(defun joe/project-root-override (dir)
(let ((proj-name (joe/get-project-name dir)))
(when (and proj-name
(not (frame-parameter (selected-frame) 'explicit-name)))
(set-frame-name proj-name))
proj-name))
(add-hook 'project-find-functions #'joe/project-root-override) (add-hook 'project-find-functions #'joe/project-root-override)
(global-set-key (kbd "<f2>") #'set-frame-name) (define-key 'ctl-x-5-prefix "n" #'set-frame-name)
#+end_src #+end_src
** VEMCO ** VEMCO