unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Looking for some recommended configurations for desktop-save-mode and savehist-mode.
@ 2021-01-17  4:29 Hongyi Zhao
  2021-01-17  8:52 ` Tak Kunihiro
  0 siblings, 1 reply; 5+ messages in thread
From: Hongyi Zhao @ 2021-01-17  4:29 UTC (permalink / raw)
  To: help-gnu-emacs

Currently, I noticed the following configurations for
desktop-save-mode and savehist-mode on this website
<https://ebzzry.io/en/emacs-tips-2/>:

---
;Desktop

;An indispensable tool that I use now is desktop. It saves the state
of my Emacs session, so that in the event of crash, power outage, or
anything that will make me lose my session, I can back to it. Desktop
comes built-in with the recent versions of GNU Emacs. Here's my
snippet:
(require 'desktop)

(desktop-save-mode)

(setq desktop-dirname "~/.emacs.d/save"
      desktop-base-file-name "desktop"
      desktop-base-lock-name "desktop.lock"
      desktop-restore-frames t
      desktop-restore-reuses-frames t
      desktop-restore-in-current-display t
      desktop-restore-forces-onscreen t)

(defun desktop-save ()
  (interactive)
  (if (eq (desktop-owner) (emacs-pid))
      (desktop-save desktop-dirname)))

;Savehist

;Another important functionality that I use is savehist. It saves the
minibuffer history. It’s roughly similar to saving the command line
history. Here’s my snippet

(savehist-mode t)

(setq savehist-file "~/.emacs.d/save/savehist")


;Consolidation

;There were a lot of times, when I want to manually save the state of
as much session information that I could save. I’d want to save the
buffers, minibuffer history, bookmarks, and comint mode histories. To
do that, I have the following:

(defun save-defaults ()
  (desktop-save desktop-dirname)
  (savehist-save)
  (bookmark-save))

(defun save-histories ()
  (let ((buf (current-buffer)))
    (save-excursion
      (dolist (b (buffer-list))
        (switch-to-buffer b)
        (save-history)))
    (switch-to-buffer buf)))

(defun save ()
  (interactive)
  (save-desktop)
  (save-defaults)
  (save-histories))

;This gives you a nice:

;M-x save RET
---

This configuration seems a bit cumbersome and lengthy. Is there a
concise similar configuration for this sort of settings? Any
hints/notes/suggestions/configurations are highly appreciated.

Best
-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Polytechnic University of Science and Technology engineering
NO. 552 North Gangtie Road, Xingtai, China



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Looking for some recommended configurations for desktop-save-mode and savehist-mode.
  2021-01-17  4:29 Looking for some recommended configurations for desktop-save-mode and savehist-mode Hongyi Zhao
@ 2021-01-17  8:52 ` Tak Kunihiro
  2021-01-17 14:29   ` moasenwood--- via Users list for the GNU Emacs text editor
  2021-01-17 18:42   ` Drew Adams
  0 siblings, 2 replies; 5+ messages in thread
From: Tak Kunihiro @ 2021-01-17  8:52 UTC (permalink / raw)
  To: Hongyi Zhao; +Cc: help-gnu-emacs, tkk

> Currently, I noticed the following configurations for
> desktop-save-mode and savehist-mode on this website

When don't you save desktop when quit emacs?

(add-hook 'kill-emacs-hook #'sesame-desktop-save)

(defun sesame-desktop-save ()
  "Save desktop anyway."
  (interactive)
  (require 'desktop)
  (setq desktop-dirname user-emacs-directory)
  (let ((file (desktop-full-file-name)))
    (when (file-exists-p file)
      (delete-file file)))
  (desktop-save (expand-file-name desktop-dirname) t))



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Looking for some recommended configurations for desktop-save-mode and savehist-mode.
  2021-01-17  8:52 ` Tak Kunihiro
@ 2021-01-17 14:29   ` moasenwood--- via Users list for the GNU Emacs text editor
  2021-01-17 18:42   ` Drew Adams
  1 sibling, 0 replies; 5+ messages in thread
From: moasenwood--- via Users list for the GNU Emacs text editor @ 2021-01-17 14:29 UTC (permalink / raw)
  To: help-gnu-emacs

Tak Kunihiro wrote:

>> Currently, I noticed the following configurations for
>> desktop-save-mode and savehist-mode on this website
>
> When don't you save desktop when quit emacs?
>
> (add-hook 'kill-emacs-hook #'sesame-desktop-save)
>
> (defun sesame-desktop-save ()
>   "Save desktop anyway."
>   (interactive)
>   (require 'desktop)
>   (setq desktop-dirname user-emacs-directory)
>   (let ((file (desktop-full-file-name)))
>     (when (file-exists-p file)
>       (delete-file file)))
>   (desktop-save (expand-file-name desktop-dirname) t))

But you don't have to delete it to update it, right?

I don't use this so I might be wrong but that seems strange
one has to do manually.

In the docstring to `desktop-save' it says:

  If ONLY-IF-CHANGED is non-nil, compare the current desktop
  information to that in the desktop file, and if the desktop
  information has not changed since it was last saved, then do
  not rewrite the file.

Sounds like it, it me...

-- 
underground experts united
http://user.it.uu.se/~embe8573
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: Looking for some recommended configurations for desktop-save-mode and savehist-mode.
  2021-01-17  8:52 ` Tak Kunihiro
  2021-01-17 14:29   ` moasenwood--- via Users list for the GNU Emacs text editor
@ 2021-01-17 18:42   ` Drew Adams
  2021-01-18  3:25     ` Hongyi Zhao
  1 sibling, 1 reply; 5+ messages in thread
From: Drew Adams @ 2021-01-17 18:42 UTC (permalink / raw)
  To: Tak Kunihiro, Hongyi Zhao; +Cc: help-gnu-emacs, tkk

Not sure what the original question was, but
I'll add this info to the discussion, in case
it helps.

Besides explicitly or implicitly saving the
desktop, you can _bookmark_ a desktop.

The vanilla desktop code (desktop.el) doesn't
make it easy to have multiple desktop files,
and it doesn't provide for more than one
desktop file per directory.

There's absolutely no reason that a desktop
file should be tied to a directory.  But that
limitation is built into what desktop.el
provides and expects.  It's a poor design,
but it's never been fixed.

To bookmark desktops you need Bookmark+.

Bookmark+ defines command `bmkp-desktop-read',
which loads a desktop file.  And command
`bmkp-desktop-change-dir', which clears the
current desktop and changes to a desktop file
you're prompted for.  And function
`bmkp-desktop-save' saves the current desktop
to a given file.

Such additions, which facilitate using
multiple desktop files are simple and trivial.
I've proposed that desktop.el offer the same
or similar, but that suggestion and request
has fallen on deaf ears.

That, in itself, doesn't even have anything
to do with bookmarks.  Why is it needed?  To
be able to flexibly create and use multiple
desktop files, located anywhere.

All that's recorded for a desktop is saved
in a file.  Hard-code associating that with
some directory doesn't help in any way; it's
just a hindrance, IMO.

A desktop bookmark just records a desktop
file.  So these desktop enhancements also
facilitate having desktop bookmarks.

Desktop bookmarks let you switch among
desktops by hitting a key - jump among
different bookmarks.

Emacs desktops can save lots of kinds of
state, including buffers (and their points,
marks, and local variables), files, windows,
frames, and variables.

(Bookmark+ also lets you save and restore
other bits of state, e.g. sets of variables,
by jumping to bookmarks.)

https://www.emacswiki.org/emacs/BookmarkPlus

https://www.emacswiki.org/emacs/BookmarkPlus#DesktopBookmarks



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Looking for some recommended configurations for desktop-save-mode and savehist-mode.
  2021-01-17 18:42   ` Drew Adams
@ 2021-01-18  3:25     ` Hongyi Zhao
  0 siblings, 0 replies; 5+ messages in thread
From: Hongyi Zhao @ 2021-01-18  3:25 UTC (permalink / raw)
  To: Drew Adams; +Cc: Tak Kunihiro, tkk, help-gnu-emacs

On Mon, Jan 18, 2021 at 2:44 AM Drew Adams <drew.adams@oracle.com> wrote:
>
> Not sure what the original question was, but
> I'll add this info to the discussion, in case
> it helps.
>
> Besides explicitly or implicitly saving the
> desktop, you can _bookmark_ a desktop.
>
> The vanilla desktop code (desktop.el) doesn't
> make it easy to have multiple desktop files,
> and it doesn't provide for more than one
> desktop file per directory.
>
> There's absolutely no reason that a desktop
> file should be tied to a directory.  But that
> limitation is built into what desktop.el
> provides and expects.  It's a poor design,
> but it's never been fixed.
>
> To bookmark desktops you need Bookmark+.
>
> Bookmark+ defines command `bmkp-desktop-read',
> which loads a desktop file.  And command
> `bmkp-desktop-change-dir', which clears the
> current desktop and changes to a desktop file
> you're prompted for.  And function
> `bmkp-desktop-save' saves the current desktop
> to a given file.
>
> Such additions, which facilitate using
> multiple desktop files are simple and trivial.
> I've proposed that desktop.el offer the same
> or similar, but that suggestion and request
> has fallen on deaf ears.
>
> That, in itself, doesn't even have anything
> to do with bookmarks.  Why is it needed?  To
> be able to flexibly create and use multiple
> desktop files, located anywhere.
>
> All that's recorded for a desktop is saved
> in a file.  Hard-code associating that with
> some directory doesn't help in any way; it's
> just a hindrance, IMO.
>
> A desktop bookmark just records a desktop
> file.  So these desktop enhancements also
> facilitate having desktop bookmarks.
>
> Desktop bookmarks let you switch among
> desktops by hitting a key - jump among
> different bookmarks.
>
> Emacs desktops can save lots of kinds of
> state, including buffers (and their points,
> marks, and local variables), files, windows,
> frames, and variables.
>
> (Bookmark+ also lets you save and restore
> other bits of state, e.g. sets of variables,
> by jumping to bookmarks.)
>
> https://www.emacswiki.org/emacs/BookmarkPlus
>
> https://www.emacswiki.org/emacs/BookmarkPlus#DesktopBookmarks

Thank you so much for letting me know this.

Best regards,
-- 
Assoc. Prof. Hongyi Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Polytechnic University of Science and Technology engineering
NO. 552 North Gangtie Road, Xingtai, China



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-01-18  3:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-17  4:29 Looking for some recommended configurations for desktop-save-mode and savehist-mode Hongyi Zhao
2021-01-17  8:52 ` Tak Kunihiro
2021-01-17 14:29   ` moasenwood--- via Users list for the GNU Emacs text editor
2021-01-17 18:42   ` Drew Adams
2021-01-18  3:25     ` Hongyi Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).