https://github.com/myterminal/emacs-home
A home-screen for Emacs
https://github.com/myterminal/emacs-home
emacs home-screen
Last synced: 26 days ago
JSON representation
A home-screen for Emacs
- Host: GitHub
- URL: https://github.com/myterminal/emacs-home
- Owner: myTerminal
- License: gpl-3.0
- Created: 2017-06-20T03:25:34.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-09-04T05:07:50.000Z (almost 5 years ago)
- Last Synced: 2026-03-08T04:05:35.906Z (4 months ago)
- Topics: emacs, home-screen
- Language: Emacs Lisp
- Homepage:
- Size: 324 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# emacs-home
[](https://marmalade-repo.org/packages/emacs-home)
[](https://www.gnu.org/licenses/gpl.html)
A home-screen for Emacs

*emacs-home* can be used to display a few widgets on a 'home-screen', which can be summoned on the press of a key-binding.
## Installation
### Manual
Save the file *emacs-home.el* to disk and add the directory containing it to `load-path` using a command in your *.emacs* file like:
(add-to-list 'load-path "~/.emacs.d/")
The above line assumes that you've placed the file into the Emacs directory '.emacs.d'.
Start the package with:
(require 'emacs-home)
### Marmalade
If you have Marmalade added as a repository to your Emacs, you can just install *emacs-home* with
M-x package-install emacs-home RET
## Usage
Currently *emacs-home* supports the following widgets:
1. Date and Time
2. Work-day progress
3. Favorite files
4. Favorite functions
Set a key-binding to open the configuration menu that displays all configured configurations.
(global-set-key (kbd "C-;") 'emacs-home-show)
By default, only the date-time widget is shown. One needs to set a few variables to see the rest of the widgets.
To see the work-day progress widget, set the day start and end times. These need to be set with numeric values in the format *hhmm*. Refer to the below example.
(emacs-home-set-day-start-time 0800)
(emacs-home-set-day-end-time 1700)
If the current time is between the above two times, a progress bar is shown.
To see the favorite files widget, use a snippet as shown below.
(emacs-home-set-favorite-files (list '("t" "~/to-do.org")
'("i" "~/Documents/work.md")))
To see the favorite functions widget, use a snippet as shown below.
(emacs-home-set-favorite-functions (list '("s" snake)
'("c" calc)))
While on the home screen, pressing `g` updates it and `q` closes it.
Currently, as the entire screen is redrawn every second to update time, you would not need to manually update it. Once I implement partial updates, this may not be the case anymore.
I'm working to optimize screen redraw and bring more widgets to *emacs-home*. Feel free to share your feedback.