Skip to content

Commit 6887cc6

Browse files
committed
Update README.md
1 parent a669384 commit 6887cc6

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
![License](https://img.shields.io/github/license/jamescherti/easysession.el)
66
![](https://github.com/jamescherti/easysession.el/main/.images/made-for-gnu-emacs.svg)
77

8-
The `easysession.el` Emacs package is a session manager for Emacs that can persist and restore file editing buffers, indirect buffers/clones, Dired buffers, windows/splits, the built-in tab-bar (including tabs, their buffers, and windows), and Emacs frames. It offers a convenient and effortless way to manage Emacs editing sessions and utilizes built-in Emacs functions to persist and restore frames.
8+
The **easysession** Emacs package is a session manager for Emacs that can persist and restore file editing buffers, indirect buffers/clones, Dired buffers, windows/splits, the built-in tab-bar (including tabs, their buffers, and windows), and Emacs frames. It offers a convenient and effortless way to manage Emacs editing sessions and utilizes built-in Emacs functions to persist and restore frames.
99

1010
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
1111
## Table of Contents
@@ -50,11 +50,11 @@ Key features include:
5050

5151
## Installation
5252

53-
To install `easysession` from MELPA:
53+
To install **easysession** from MELPA:
5454

5555
1. If you haven't already done so, [add MELPA repository to your Emacs configuration](https://melpa.org/#/getting-started).
5656

57-
2. Add the following code to your Emacs init file to install `easysession` from MELPA:
57+
2. Add the following code to your Emacs init file to install **easysession** from MELPA:
5858

5959
``` emacs-lisp
6060
(use-package easysession
@@ -142,7 +142,7 @@ To persist and restore global variables in Emacs, you can use the built-in `save
142142

143143
(Each element added to `savehist-additional-variables` is a variable that will be persisted across Emacs sessions that use `savehist`.)
144144

145-
The `easysession` package can leverage `savehist` save the restore the current session name:
145+
The **easysession** package can leverage `savehist` save the restore the current session name:
146146
```emacs-lisp
147147
(add-to-list 'savehist-additional-variables 'easysession--current-session-name)
148148
```
@@ -282,18 +282,18 @@ Replace `TODO` with the appropriate code and remove `[MY EASYSESSION TEST]` afte
282282

283283
### How does the author use easysession?
284284

285-
The author uses `easysession.el` by setting up each session to represent a distinct project or a specific "view" on a particular project, including various tabs (built-in tab-bar), window splits, dired buffers, and file editing buffers. This organization allows for the creation of dedicated environments for different tasks or aspects of a project, such as development, debugging, specific issue, and documentation. The author switches between projects and views of the same projects multiple times a day, and `easysession.el` helps significantly by allowing quick transitions between them.
285+
The author uses easysession by setting up each session to represent a distinct project or a specific "view" on a particular project, including various tabs (built-in tab-bar), window splits, dired buffers, and file editing buffers. This organization allows for the creation of dedicated environments for different tasks or aspects of a project, such as development, debugging, specific issue, and documentation. The author switches between projects and views of the same projects multiple times a day, and easysession helps significantly by allowing quick transitions between them.
286286

287287
### What does EasySession offer that desktop.el doesn't?
288288

289289
While `desktop.el` is a foundational session management tool for Emacs, it has several limitations:
290290
- It primarily saves Emacs' state on exit and restores it on startup, making it difficult to switch between different session files during an editing session.
291-
- The `desktop.el` package does not allow the user to easily choose whether to load sessions with or without modifying the Emacs frame geometry. This last feature is important in easysession.el because it allows switching between sessions without the annoyance of changing the window position or size.
291+
- The `desktop.el` package does not allow the user to easily choose whether to load sessions with or without modifying the Emacs frame geometry. This last feature is important in easysession because it allows switching between sessions without the annoyance of changing the window position or size.
292292
- The `desktop.el` package saves and restores major modes and important global variables, which can prevent some packages from initializing correctly. For example, the `vdiff` package may stop working after comparing two files and reloading Emacs and the `desktop.el` session. This issue has also occurred with a few other packages.
293293
- The `desktop.el` package can be bulky and slow in operation.
294294
- The `desktop.el` package lacks support for saving and restoring indirect buffers (clones). Indirect buffers are secondary buffers that share the same content as an existing buffer but can have different point positions, narrowing, folds, and other buffer-local settings. This allows users to view and edit the same file or text content in multiple ways simultaneously without duplicating the actual data. There are third-party packages, such as desktop+, that extend desktop.el to restore indirect buffers. However, packages like desktop+ are still based on desktop.el and can cause the issues described above.
295295

296-
In contrast, `easysession.el` offers enhanced functionality:
296+
In contrast, easysession offers enhanced functionality:
297297
- It supports saving and loading various buffer types, including indirect buffers (clones).
298298
- It allows users to load or save different sessions while actively editing, without the need to restart Emacs.
299299
- It excels in speed and efficiency, enabling seamless session management within Emacs.
@@ -316,7 +316,7 @@ There are some existing packages, such as minimal-session-saver, save-visited-fi
316316
- None of them can restore indirect buffers (clones). Indirect buffers, which can be created using `clone-indirect-buffer`, are secondary buffers that share the same content as an existing buffer but can have different point positions, narrowing, folds, and other buffer-local settings. This allows users to view and edit the same file or text content in multiple ways simultaneously without duplicating the actual data.
317317
- The minimal-session-saver and save-visited-files packages are no longer maintained and cannot restore the frameset and the tab-bar.
318318
- Sesman is designed to implement some IDE features in Emacs.
319-
- Psession cannot switch between sessions quickly, with or without modifying the the Emacs frame geometry. This last feature is important in easysession.el because it allows switching between sessions without the annoyance of changing the window position or size.
319+
- Psession cannot switch between sessions quickly, with or without modifying the the Emacs frame geometry. This last feature is important in easysession because it allows switching between sessions without the annoyance of changing the window position or size.
320320

321321
Easysession can persist and restore file editing buffers, indirect buffers/clones, Dired buffers, the tab-bar, and the Emacs frames (with or without the Emacs frames geometry). It is similar to Vim or Neovim sessions because it loads and restores your editing environment, including buffers, windows, tabs, and other settings, allowing you to resume work exactly where you left off.
322322

@@ -328,7 +328,7 @@ Easysession can persist and restore file editing buffers, indirect buffers/clone
328328

329329
## License
330330

331-
The `easysession` Emacs package has been written by [James Cherti](https://www.jamescherti.com/) and is distributed under terms of the GNU General Public License version 3, or, at your choice, any later version.
331+
The easysession Emacs package has been written by [James Cherti](https://www.jamescherti.com/) and is distributed under terms of the GNU General Public License version 3, or, at your choice, any later version.
332332

333333
Copyright (C) 2024-2025 [James Cherti](https://www.jamescherti.com)
334334

0 commit comments

Comments
 (0)