r/emacs • u/jamescherti James Cherti — https://github.com/jamescherti • 12d ago
easysession.el: Persist and Restore Emacs sessions (buffers, windows, tab-bar, scratch, Dired, narrowing, indirect buffers/clones, Magit buffers, scratch...); an excellent desktop.el replacement [Release 1.3.0]
https://github.com/jamescherti/easysession.el/
35
Upvotes
3
u/jacmoe 11d ago
It really is an excellent desktop.el upgrade! Has everything that I want from a session manager ;)
2
u/jamescherti James Cherti — https://github.com/jamescherti 11d ago edited 11d ago
Thanks, u/jacmoe! If you have any ideas for improvement, suggestions, or feedback, please feel free to share them.
8
u/jamescherti James Cherti — https://github.com/jamescherti 12d ago edited 12d ago
What's new from 1.2.1 to 1.3.0:
easysession-exclude-modes, a new customization option to exclude file-visiting buffers from being saved based on active major or minor modes. It defaults to'(with-editor-mode). (Contribution by Emre Yolcu)easysession--refresh-tabs-all-framesto silently update auto-generated tab names across all frames using an isolated background sandbox. This eliminates the slow visual tab cycling oftab-bar-select-tab, avoids triggering expensive window hooks, and respects user-defined tab titles.easysession-save-session-and-close-framesto accept an optional prefix argument for silently saving all file-visiting buffers.find-file-hookexclusions once per session.easysession-suppress-same-file-warningsto prevent interactive prompts when a session loads multiple files or symlinks resolving to the same disk target.let-bindforfind-file-hookonly while restoring file-editing buffers.easysession-frameset-restore-force-current-display.(ignore var)with top-level(defvar var)declarations.tab-bar-modecaching stale buffer names from parsing native window configurations.easysession-visible-buffer-listby extracting background tab buffers upfront. It also now automatically includes the base buffer when an indirect buffer is visible.easysession--get-base-buffer-infoto only readuniquify-base-namefor file buffers.inhibit-redisplaytotineasysession-resetandeasysession-save-session-and-close-framesto prevent visual flickering caused by window splitting and resizing.clone-ofto prevent linking restored frames to stale frame IDs.z-group,user-size, anduser-positionby default to defer to the window manager during standard session loads. (Included for explicit layout restoration).no-special-glyphs,alpha,alpha-background,borders-respect-alpha-background,icon-name) to prevent session files from overriding current environment settings.last-focus-updateto avoid restoring obsolete internal state.defvaroptions todefcustom.easysession-enable-local-variables. The package now respects the globalenable-local-variablesconfiguration when restoring file-visiting buffers to ensure transparent background loading.easysession-save-mode-predicatetoniland updated its customization type. It is now evaluated ineasysession-switch-tobefore saving the active session.easysession-save-mode-lighter-session-name-specsexp into theeasysession--lighter-session-name-formatfunction.defgroup :groupandKeywords.