*UI Configuration

UI Configuration

Index · config.org

Theme & Font

Using the Dracula colour scheme with JetBrains Mono as the primary font. Treemacs is configured to use Doom's colour palette instead of the default Atom-inspired theme.

(setq doom-theme 'doom-dracula
      doom-themes-treemacs-theme "doom-colors"
      doom-font (font-spec
                 :family "JetBrainsMono Nerd Font"
                 :size 14))

Splash Image

Randomly select a splash image from the images/ directory on startup for some visual variety.

(defun random-element-of-list (items)
  "Return a random element from a given list."
  (let* ((size (length items))
         (index (random size)))
    (nth index items)))

(defun splash-images ()
  "Return a list of available splash images."
  (let*
      ((splash-directory (concat doom-user-dir "images/")))
    (directory-files splash-directory 'full (rx ".png" eos))))

(setq fancy-splash-image (random-element-of-list (splash-images)))

Modeline

Enable major mode icons with colour support in the modeline. Purely aesthetic.

(setq doom-modeline-major-mode-icon t
      doom-modeline-major-mode-color-icon t)

Editor Visuals

Configure visual enhancements for the editing experience:

  • prism-mode highlights code by scope depth with different colours, replacing rainbow-delimiters. Also enables prism-whitespace-mode for indentation-based languages like Python and YAML.
  • Reduce which-key popup delay for faster discoverability.
  • Enable pixel-perfect smooth scrolling.
  • Auto-focus help windows when they open.
;; Scope-based syntax highlighting (replaces rainbow-delimiters)
(add-hook! 'prog-mode-hook #'prism-mode)
(add-hook! '(python-mode-hook
             python-ts-mode-hook
             yaml-mode-hook
             yaml-ts-mode-hook)
           #'prism-whitespace-mode)

;; Faster which-key popup
(setq which-key-idle-delay 0.2)

;; Smooth scrolling
(pixel-scroll-precision-mode)

;; Auto-focus help windows
(setq help-window-select t)

Exported 2026-08-04 Tue 21:39