{"id":24074911,"url":"https://github.com/schievel1/doom-emacs-splash","last_synced_at":"2025-08-14T07:39:03.040Z","repository":{"id":40258349,"uuid":"461562811","full_name":"Schievel1/doom-emacs-splash","owner":"Schievel1","description":"Splash screen images for Doom Emacs","archived":false,"fork":false,"pushed_at":"2023-09-02T03:36:26.000Z","size":2537,"stargazers_count":40,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-04T03:20:36.857Z","etag":null,"topics":["doom-emacs","image","splash-screen","svg"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Schievel1.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-20T17:29:25.000Z","updated_at":"2025-05-17T09:37:36.000Z","dependencies_parsed_at":"2025-04-28T19:47:22.718Z","dependency_job_id":null,"html_url":"https://github.com/Schievel1/doom-emacs-splash","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Schievel1/doom-emacs-splash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schievel1%2Fdoom-emacs-splash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schievel1%2Fdoom-emacs-splash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schievel1%2Fdoom-emacs-splash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schievel1%2Fdoom-emacs-splash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Schievel1","download_url":"https://codeload.github.com/Schievel1/doom-emacs-splash/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Schievel1%2Fdoom-emacs-splash/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270384929,"owners_count":24574532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["doom-emacs","image","splash-screen","svg"],"created_at":"2025-01-09T18:22:40.832Z","updated_at":"2025-08-14T07:39:03.021Z","avatar_url":"https://github.com/Schievel1.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+author: tachanka\n\n* Table Of Contents :toc:\n- [[#license][License]]\n- [[#doom][Doom]]\n  - [[#description][Description]]\n  - [[#variations][Variations]]\n  - [[#make-your-own][Make your own]]\n  - [[#automatically-generate-in-emacs][Automatically generate in Emacs]]\n- [[#gnu-emacs][GNU Emacs]]\n  - [[#description-1][Description]]\n\n* License\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"screenshot/doomEmacsNord.png\"\u003e \u003c/p\u003e\n\n#+html: \u003cp align=\"center\"\u003e\n#+html:     \u003ca href=\"https://creativecommons.org/licenses/by-sa/4.0/\"\u003e\n#+html:         \u003cimg src=\"https://img.shields.io/badge/CC--BY--SA-161b22?style=for-the-badge\u0026logo=Creative%20Commons\u0026logoColor=white\"\u003e\n#+html:     \u003c/a\u003e\n#+html: \u003c/p\u003e\n\nThis work is licensed under [[https://creativecommons.org/licenses/by-sa/4.0/][Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)]].\n\n#+begin_quote\n_You are free to:_\n\n    *Share* — copy and redistribute the material in any medium or format.\n\n    *Adapt* — remix, transform, and build upon the material\n    for any purpose, even commercially.\n\n_Under the following terms:_\n\n    *Attribution* — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.\n\n    *ShareAlike* — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.\n\n    *No additional restrictions* — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.\n#+end_quote\n\n* Doom\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doom.svg\"/\u003e\u003cp/\u003e\n\n** Description\nDoom logo using Nord colorscheme and [[https://www.fontspace.com/amaz-doom-font-f9098][AmazDoom]] font.\nCan be used as image as a dashboard image in Doom Emacs (and other Emacs distributions using =doom-dashboard=) using this code:\n\n#+begin_src elisp\n;; .doom.d/config.el\n(setq fancy-splash-image \"/path/to/image/doom.svg\")\n#+end_src\n\nIf you would like to have several logos and a logo to display is chosen by emacs randomly, put the logos in =~/.doom.d/splash=.\nThen use this code:\n\n#+begin_src elisp\n;; .doom.d/config.el\n(let ((alternatives '(\"nameoffirstfile.svg\"\n                      \"nameofanotherfile.png\"\n                      \"nameofathirdfile.svg\")))\n  (setq fancy-splash-image\n        (concat doom-private-dir \"splash/\"\n                (nth (random (length alternatives)) alternatives))))\n#+end_src\n\nYou can add or remove the images that can be chosen randomly into alternatives.\n\n** Variations\nThere are also some variations (both vector and raster):\n\n+ doomWithShadow.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomWithShadow.svg\"/\u003e\u003cp/\u003e\n\n+ doomEmacs.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacs.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsDoomOne.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsDoomOne.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsDracula.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsDracula.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsGruvbox.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsGruvbox.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsSolarized.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsSolarized.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsRouge.svg\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsRouge.svg\"\u003e \u003c/p\u003e\n\n+ doomEmacsTokyoNight.svg by [[https://github.com/Schievel1][Schievel1]]\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/doom/doomEmacsTokyoNight.svg\"\u003e \u003c/p\u003e\n\n#+begin_quote\n[[https://www.fontspace.com/amaz-doom-font-f9098][AmazDoom]] font was used\n#+end_quote\n\n** Make your own\nTo change to colors of the svg, download the =doomEmacs.svg= file, get the hexadecimal codes of the colors you want to have and run the following commands to change the colors:\n\n#+begin_src sh\nsed -i 's/5e81ac/xxxxxx/g' doomEmacs.svg # top gradient color of the text\nsed -i 's/b48ead/xxxxxx/g' doomEmacs.svg # bottom gradient color of the text\nsed -i 's/4c566a/xxxxxx/g' doomEmacs.svg # the upper outlines of the 'DOOM' text\nsed -i 's/3b4252/xxxxxx/g' doomEmacs.svg # the shadow\nsed -i 's/2e3440/xxxxxx/g' doomEmacs.svg # the background\nsed -i 's/434c5e/xxxxxx/g' doomEmacs.svg # dot in the middle that the background gradients to\n#+end_src\n\nWhere xxxxxx is the color you chose.\n\nOr just use [[https://github.com/tachanka61/graphics/blob/main/script/recolor.sh][really weird bash script]] :P\n\nSave the script =recolor.sh= and the file =template.svg= together into one directory, run =recolor.sh=:\n\n#+begin_src sh\n./recolor.sh nameoftheoutputfile # without a file extension like .svg\n#+end_src\n\nThe script will ask you for several colors to give as an input. Input the colors as hexadecimal color code without a preceding:  =434c5e=. It will then spit out a file with the given colors into the directory it is run in.\n\nMake sure to make a pull request to this repo if you created some awesome images for a colorscheme that isn't added yet.  =;-)=\n\n** Automatically generate in Emacs\nEmacs can automatically generate the Doom Emacs logo for you. When ever you switch the color scheme, a new set of images is created and used.\n\nTo do this, put the file ~doom-emacs-splash-template.svg~ (in the folder ~svg~ on this GitHub) into a subfolder ~splash~ in your Doom config directory (so usually ~~/.doom.d/splash/~).\n\nThe elisp code below is shamelessly stolen from [[https://github.com/tecosaur/emacs-config][Tecosaur]] and slightly modified.\n\n#+begin_src elisp\n(defvar fancy-splash-image-template\n  (expand-file-name \"splash/doom-emacs-splash-template.svg\" doom-private-dir)\n  \"Default template svg used for the splash image, with substitutions from \")\n\n(defvar fancy-splash-sizes\n  `((:height 500 :min-height 50 :padding (0 . 2))\n    (:height 450 :min-height 42 :padding (2 . 4))\n    (:height 400 :min-height 35 :padding (3 . 3))\n    (:height 350 :min-height 28 :padding (3 . 3))\n    (:height 200 :min-height 20 :padding (2 . 2))\n    (:height 150  :min-height 15 :padding (2 . 1))\n    (:height 100  :min-height 13 :padding (2 . 1))\n    (:height 75  :min-height 12 :padding (2 . 1))\n    (:height 50  :min-height 10 :padding (1 . 0))\n    (:height 1   :min-height 0  :padding (0 . 0)))\n  \"list of plists with the following properties\n  :height the height of the image\n  :min-height minimum `frame-height' for image\n  :padding `+doom-dashboard-banner-padding' (top . bottom) to apply\n  :template non-default template file\n  :file file to use instead of template\")\n\n(defvar fancy-splash-template-colours\n  '((\"$color1\" . functions) (\"$color2\" . keywords) (\"$color3\" .  highlight) (\"$color4\" . bg) (\"$color5\" . bg) (\"$color6\" . base0))\n  ;; 1: Text up, 2: Text low, 3: upper outlines, 4: shadow, 5: background, 6: gradient to middle\n  \"list of colour-replacement alists of the form (\\\"$placeholder\\\" . 'theme-colour) which applied the template\")\n\n(unless (file-exists-p (expand-file-name \"theme-splashes\" doom-cache-dir))\n  (make-directory (expand-file-name \"theme-splashes\" doom-cache-dir) t))\n\n(defun fancy-splash-filename (theme-name height)\n  (expand-file-name (concat (file-name-as-directory \"theme-splashes\")\n                            theme-name\n                            \"-\" (number-to-string height) \".svg\")\n                    doom-cache-dir))\n\n(defun fancy-splash-clear-cache ()\n  \"Delete all cached fancy splash images\"\n  (interactive)\n  (delete-directory (expand-file-name \"theme-splashes\" doom-cache-dir) t)\n  (message \"Cache cleared!\"))\n\n(defun fancy-splash-generate-image (template height)\n  \"Read TEMPLATE and create an image if HEIGHT with colour substitutions as\n   described by `fancy-splash-template-colours' for the current theme\"\n  (with-temp-buffer\n    (insert-file-contents template)\n    (re-search-forward \"$height\" nil t)\n    (replace-match (number-to-string height) nil nil)\n    (replace-match (number-to-string height) nil nil)\n    (dolist (substitution fancy-splash-template-colours)\n      (goto-char (point-min))\n      (while (re-search-forward (car substitution) nil t)\n        (replace-match (doom-color (cdr substitution)) nil nil)))\n    (write-region nil nil\n                  (fancy-splash-filename (symbol-name doom-theme) height) nil nil)))\n\n(defun fancy-splash-generate-images ()\n  \"Perform `fancy-splash-generate-image' in bulk\"\n  (dolist (size fancy-splash-sizes)\n    (unless (plist-get size :file)\n      (fancy-splash-generate-image (or (plist-get size :template)\n                                       fancy-splash-image-template)\n                                   (plist-get size :height)))))\n\n(defun ensure-theme-splash-images-exist (\u0026optional height)\n  (unless (file-exists-p (fancy-splash-filename\n                          (symbol-name doom-theme)\n                          (or height\n                              (plist-get (car fancy-splash-sizes) :height))))\n    (fancy-splash-generate-images)))\n\n(defun get-appropriate-splash ()\n  (let ((height (frame-height)))\n    (cl-some (lambda (size) (when (\u003e= height (plist-get size :min-height)) size))\n             fancy-splash-sizes)))\n\n(setq fancy-splash-last-size nil)\n(setq fancy-splash-last-theme nil)\n(defun set-appropriate-splash (\u0026rest _)\n  (let ((appropriate-image (get-appropriate-splash)))\n    (unless (and (equal appropriate-image fancy-splash-last-size)\n                 (equal doom-theme fancy-splash-last-theme)))\n    (unless (plist-get appropriate-image :file)\n      (ensure-theme-splash-images-exist (plist-get appropriate-image :height)))\n    (setq fancy-splash-image\n          (or (plist-get appropriate-image :file)\n              (fancy-splash-filename (symbol-name doom-theme) (plist-get appropriate-image :height))))\n    (setq +doom-dashboard-banner-padding (plist-get appropriate-image :padding))\n    (setq fancy-splash-last-size appropriate-image)\n    (setq fancy-splash-last-theme doom-theme)\n    (+doom-dashboard-reload)))\n\n(add-hook 'window-size-change-functions #'set-appropriate-splash)\n(add-hook 'doom-load-theme-hook #'set-appropriate-splash)\n\n#+end_src\n\nLook in your theme what the different colors are called. If you want to use a different color, but still want to keep the automatic generation, you can change the line:\n\n#+begin_src elisp\n  '((\"$color1\" . functions) (\"$color2\" . keywords) (\"$color3\" .  highlight) (\"$color4\" . bg) (\"$color5\" . bg) (\"$color6\" . base0))\n#+end_src\n\nThis snippet above automatically generates a set of images and puts them into your Emacs' temp folder. So it does not always generate new images every time you start up Emacs. If you changed some of the colors and want to generate new images, use @@html:\u003ckbd\u003e@@M-x@@html:\u003c/kbd\u003e@@ ~fancy-splash-clear-cache~.\n\n* GNU Emacs\n\n#+html: \u003cp align=\"center\"\u003e \u003cimg src=\"svg/emacs.svg\"\u003e \u003cp/\u003e\n\n** Description\nEmacs logo, inspired and based on Papirus icon theme.\nLike Doom, also can be used as a dashboard image.\n\n#+begin_quote\nInspired and based on [[https://icon-icons.com/icon/emacs/93840][Papirus]]\n#+end_quote\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschievel1%2Fdoom-emacs-splash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschievel1%2Fdoom-emacs-splash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschievel1%2Fdoom-emacs-splash/lists"}