Preventing loading remote projects in emacs-dashboard (prevent lagging)
🗓️Wed 28 May 2025 #project.el, #dashboard, #elisp, #emacs
Recently I've had a problem with emacs-dashboard.el. It lags massively when trying to load remote projects from project.el + recentf on startup.
Here's a fix (just exclude all remote projects from project.el):
;;; dashboard-hacks.el --- Emacs Dashboard Hacks -*- lexical-binding: t; -*-
(require 'project)
;; recentf-keep really accepts list or regexps/functions (predicates)
(setopt recentf-keep (list (lambda (x) (not (file-remote-p x)))))
(defun project-forget-remote-projects ()
"Forget all remote projects. emacs-dashboard lags massively when trying to display remote projects via project.el"
(interactive)
(dolist (proj (project-known-project-roots))
(unless (file-remote-p proj)
(project-forget-project proj))))
(advice-add
'project-forget-remote-projects
:before
'project-forget-zombie-projects)
(provide 'dashboard-hacks)