May 23rd 2026 - Things I Worked On

Dark theme everywhere

I dislike light themed websites so I created a dark theme everywhere chrome extension. Its incomplete and only works on a handful of sites but I'll try to add more as time goes on.

Aligning tags

Added aligning org tags of file currently being visited.

(defun my/align-tags (file)
  "Aligns all tags in an org file"
  (with-current-buffer (find-file-noselect file)
    (org-map-entries #'org-align-tags)
    (save-buffer)))

(defun my/align-tags-here ()
  "Align tags in the currently visited file"
  (interactive)
  (my/align-tags (buffer-file-name)))  

Backing up files

Added function and keybinding for backing up all Emacs files.

(defun my/backup-files ()
  "Backup Emacs files."
  (interactive)
  (my/backup-journal-file)
  (my/backup-calendar-file)
  (my/backup-food-file)
  (my/backup-projects-file)
  (my/backup-inbox-file))

(evil-leader/set-key
  "a b" 'my/backup-files)

Speed Typing

Disabled autocomplete when speed typing.

(add-hook 'speed-type-mode-hook (lambda () (company-mode -1)))

Ghostel

Installed ghostel as my new terminal emulator inside Emacs. In order to get multiple shells working we need to do a little hack with (current-prefix-arg).

(defun my/create-shell ()
  "Create a shell buffer in the current window"
  (interactive)
  (let ((current-prefix-arg '(4)))
    (call-interactively 'ghostel)
    (evil-insert 1)))

(defun my/create-small-shell ()
  "Create a shell buffer in a window below current buffer."
  (interactive)
  (split-window-below)
  (other-window 1)
  (my/create-shell))

(evil-leader/set-key
  "t s" 'my/create-small-shell
  "t t" 'my/create-shell)