From a7ae3d1df8b4a8fd66e9b7024bc9e89f9911e5d4 Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Tue, 4 Jun 2024 12:41:57 +0700 Subject: [PATCH] Emacs: Add welcome.el to git with the emacs logo --- .config/emacs/Emacs@256.png | Bin 0 -> 41496 bytes .config/emacs/elisp/welcome.el | 133 +++++++++++++++++++++++++++++++++ .config/emacs/init.org | 2 +- .gitignore | 3 + 4 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 .config/emacs/Emacs@256.png create mode 100644 .config/emacs/elisp/welcome.el diff --git a/.config/emacs/Emacs@256.png b/.config/emacs/Emacs@256.png new file mode 100644 index 0000000000000000000000000000000000000000..43d2a0c7c5514dcc747fb517514a28f8d48d9785 GIT binary patch literal 41496 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 z +;; Keywords: init, welcome, dashboard, startup + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Something something minimalism and dasboards + +;;; Code: + + +;; (require 'dashboard) +;; (defun dashboard-center-text (start end) +;; "Center the text between START and END." +;; (save-excursion +;; (goto-char start) +;; (let ((width 0)) +;; (while (< (point) end) +;; (let* ((line-str (buffer-substring (line-beginning-position) (line-end-position))) +;; (line-length (dashboard-str-len line-str))) +;; (setq width (max width line-length))) +;; (forward-line 1)) +;; (let ((prefix (propertize " " 'display `(space . (:align-to (- center ,(/ width 2))))))) +;; (add-text-properties start end `(line-prefix ,prefix indent-prefix ,prefix)))))) + +;; (defun dashboard-insert-center (&rest strings) +;; "Insert STRINGS in the center of the buffer." +;; (let ((start (point))) +;; (apply #'insert strings) +;; (dashboard-center-text start (point)))) + +(defvar welcome-load-project-map (make-sparse-keymap) + "High precedence keymap.") + +(defun welcome--open-project () + "Open the directory at point in dired." + (interactive) + (let ((path (file-truename (substring-no-properties + (thing-at-point 'filename))))) + (project-switch-project path))) + +;; (evil-define-key 'normal 'joe/welcome-load-project-map (kbd "RET") #'joe/welcome-open-project) + +;; +;; Look into (text-property-search-forward) +;; (text-property-search-backward) +;; + +(defun welcome--load-bookmarks () + (with-temp-buffer + (if (file-exists-p bookmark-file) + (progn + (insert-file-contents bookmark-file) + (goto-char (point-min)) + (let ((bmarks (read (current-buffer)))) + (mapcar (lambda (bm) (cons (car bm) (cdr (nth 1 bm)))) bmarks))) + (list '("No Bookmark Fls"))))) + +(defun welcome--load-projects () + (with-temp-buffer + (insert-file-contents project-list-file) + (goto-char (point-min)) + (let ((contents (apply #'append (read (current-buffer))))) + (if contents + (seq-subseq contents 0 (min (length contents) 4)) + "No Projects")))) + +(defun welcome--recent-files () + (with-temp-buffer + (insert-file-contents recentf-save-file) + (goto-char (point-min)) + (let ((contents (apply #'append (read (current-buffer))))) + (if contents + (seq-subseq contents 0 (min (length contents) 8)) + "No Recent Files")))) + +(defun welcome--recent-files () + (if recentf-list + (seq-subseq recentf-list 0 (min (length recentf-list) 8)) + "No Recent Files")) + +(defun welcome--render-dash () + "Show Welcome buffer" + (with-current-buffer (get-buffer-create "*Welcome*") + (buffer-size) + (erase-buffer) + (goto-char (point-min)) + (insert-image (create-image "/home/joe/.config/emacs/elisp/Emacs@256.png")) + (insert "\n\n\n") + (insert "Welcome to Emacs!\n\n") + ;; (dashboard-insert-center "testing this thing out\n\n") + (let* ((time-str (emacs-init-time)) + (time (string-to-number (car (split-string time-str))))) + (insert (format "It took %.3f seconds to start up\n\n" time))) + (insert "Happy hacking!\n\n") + (insert "Projects:\n") + (dolist (proj (welcome--load-projects)) + (insert (format "\t%s\n" proj))) + (insert "\nRecent Files:\n") + (dolist (file (welcome--recent-files)) + (insert (format "\t%s\n" file))) + (insert "\nBookmarks:\n") + (dolist (bmark (welcome--load-bookmarks)) + (insert (format "\t%s - %s\n" (car bmark) (cdr bmark)))) + ;; (insert (propertize (format "\t%s\n" proj) :keymap joe/welcome-load-project-map))) + (setq cursor-type nil) + (switch-to-buffer (current-buffer)) + (goto-char 86) + (display-line-numbers-mode 0) + (olivetti-mode) + (read-only-mode +1) + (current-buffer))) + +(setq initial-buffer-choice #'welcome--render-dash) + +(provide 'welcome) +;;; welcome.el ends here diff --git a/.config/emacs/init.org b/.config/emacs/init.org index 11593e9..18360ef 100644 --- a/.config/emacs/init.org +++ b/.config/emacs/init.org @@ -2947,7 +2947,7 @@ over as explained [[https://manueluberti.eu/2018/02/17/magit-bury-buffer.html][h ** Initial Buffer #+begin_src emacs-lisp -(load-file "/home/joe/Dotfiles/.config/emacs/elisp/welcome.el") +(load-file "/home/joe/.config/emacs/elisp/welcome.el") #+end_src * COMMENT Local variables diff --git a/.gitignore b/.gitignore index f0d41af..fbaa5f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ .config/emacs/* !.config/emacs/init.org +!.config/emacs/elisp/ +!.config/emacs/elisp/welcome.el +!.config/emacs/Emacs@256.png /.config/nvim/plugin/ .config/magit/* !.config/magit/init.el