Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

tomrss/welcome.el

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

welcome.el

Simple and lightweight welcome screen for Emacs.

welcome.el just offers a function for creating a simple welcome buffer with a very minimal dedicated major mode. It does not register any hooks or modify Emacs startup, you should do it yourself (see examples below).

Screenshot

./screenshot.png

Usage

This package is not on Melpa so can installed via git-based package manager like straight.el:

(straight-use-package '(welcome :type git
                                :host github
                                :repo "tomrss/welcome.el"
                                :files ("welcome.el" "asset")))

(setq inhibit-startup-screen t)

(add-hook 'emacs-startup-hook #'welcome-screen)

Better results can be obtained integrating the visual-fill-column package. This snippet will start Emacs fullscreen with the Welcome screen centered:

;; start fullscreen
(setq default-frame-alist `((fullscreen . maximized)))

;; use the `visual-fill-column' package
(straight-use-package 'visual-fill-column)

(add-hook 'welcome-mode-hook
          (lambda ()
            ;; set the width of the visual fill as the `welcome' window width
            (setq visual-fill-column-width welcome-window-width)
            ;; center
            (setq visual-fill-column-center-text t)
            ;; visual line 
            (visual-line-mode +1)
            ;; activate the mode
            (visual-fill-column-mode +1)))

Customize menu entries

Set the the plist welcome-menu-items as you want:

(with-eval-after-load 'welcome
  (setq welcome-menu-items '(("Recent files"       ; name of the entry that will be displayed
                              :key "f"             ; key on which to binf the action
                              :action recentf-open ; action to execute
                              :icon (all-the-icons-octicon . "history")) ; icon to show
                             ("Projects"
                              :key "p"
                              :action project-switch-project
                              :icon (all-the-icons-octicon . "repo"))
                             ("Dired"
                              :key "d"
                              :action dired
                              :icon (all-the-icons-octicon . "file-directory"))
                             ("Eshell"
                              :key "e"
                              :action eshell
                              :icon (all-the-icons-octicon . "terminal"))
                             ("Bookmarks"
                              :key "b"
                              :action bookmark-jump
                              :icon (all-the-icons-octicon . "bookmark"))
                             ("EWW browser"
                              :key "w"
                              :action eww
                              :icon (all-the-icons-octicon . "globe")))))

Other customization

See the welcome customization group.

About

Simple welcome screen for Emacs

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.