(setq package-enable-at-startup nil) (defun ar/show-welcome-buffer () "Show *Welcome* buffer." (with-current-buffer (get-buffer-create "*Welcome*") (setq truncate-lines t) (let* ((buffer-read-only) (image-path "~/.emacs.d/splash.png") (image (create-image image-path)) (size (image-size image)) (height (cdr size)) (width (car size)) (top-margin (floor (/ (- (window-height) height) 2))) (left-margin (floor (/ (- (window-width) width) 2))) (title "[t] work [m] mail")) (erase-buffer) (setq mode-line-format nil) (goto-char (point-min)) (insert (make-string top-margin ?\n )) (insert (make-string left-margin ?\ )) (insert-image image) (insert "\n\n\n") (insert (make-string (floor (/ (- (window-width) (string-width title)) 2)) ?\ )) (insert title)) (setq cursor-type nil) (read-only-mode +1) (switch-to-buffer (current-buffer)) (local-set-key (kbd "") 'kill-this-buffer) (local-set-key (kbd "m") 'me/email-client-mode) (local-set-key (kbd "t") 'me/work-mode))) (setq initial-scratch-message nil) (setq inhibit-startup-screen t) (when (< (length command-line-args) 2) (add-hook 'emacs-startup-hook (lambda () (when (display-graphic-p) (ar/show-welcome-buffer)))))