Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cfal/emacs-pool
An emacs daemon pool for fast emacs startups, written in Rust.
https://github.com/cfal/emacs-pool
emacs emacs-initialization
Last synced: about 1 month ago
JSON representation
An emacs daemon pool for fast emacs startups, written in Rust.
- Host: GitHub
- URL: https://github.com/cfal/emacs-pool
- Owner: cfal
- Created: 2018-12-23T12:24:56.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-10T04:18:30.000Z (over 1 year ago)
- Last Synced: 2024-10-09T06:40:11.082Z (3 months ago)
- Topics: emacs, emacs-initialization
- Language: Rust
- Homepage:
- Size: 49.8 KB
- Stars: 26
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# emacs-pool
emacs-pool is an emacs daemon pool that preloads single-use emacs daemons in the background. It aims to provide an equivalent experience to non-daemon mode emacs but with a faster startup.
emacs-pool consists of two binaries:
- `emacs-pool-daemon`: Pre-loads emacs daemons in the background. Automatically starts up new daemons, and kills daemons after use. Listens for client connections via unix domain socket.
- `emacs-pool-client`: Asks `emacs-pool-daemon` for a new emacs daemon, and then runs `emacsclient` to connect to it. The emacs daemon will be destroyed after `emacsclient` is closed.
## Installation
Releases for certain architectures are available on GitHub, else you can build and install it yourself.
## Building
Requirements:
- Rust and Cargo installation
- emacs 26.1 or newer (for --fg-daemon flag)`cargo install emacs-pool` will build and install `emacs-pool-daemon` and `emacs-pool-client` to your cargo bin directory.
## Usage
Link or copy `scripts/run.sh` to somewhere on your path and use it instead of emacs. The script will automatically start up `emacs-pool-daemon` in the background if necessary before invoking `emacs-pool-client`. Edit the script variables at the top to configure socket path and emacs paths.
## Notes
- The daemon can be shutdown with `killall emacs-pool-daemon` when startup with `run.sh`. Using SIGKILL (-9) would not give the server time to shutdown the emacs daemons, and you would have to do so manually.