Make session persistence module agnostic
They've been removed from feature/workspaces and moved into core/autoload/sessions, which falls back to desktop.el if persp-mode isn't present. This also offers a substantial speed up to restart+restoring and restoring sessions in general. Also fixes #1210, where the newly spawned frame after doom/restart wasn't focused. Introduces the following commands: - doom/restart - doom/restart-and-restore - doom/quickload-session - doom/quicksave-session - doom/load-session - doom/save-session - +workspace/restore-last-session (alias for doom/quickload-session) And removes - +workspace/load-session - +workspace/save-session - +workspace/load-last-session (renamed to +workspace/restore-last-session) - +workspace/restart-emacs-then-restore (replaced by doom/restart-and-restore) - :ss (ex command) - :sl (ex command)
This commit is contained in:
parent
735ec58b36
commit
8a90f29c91
10 changed files with 181 additions and 143 deletions
|
@ -91,9 +91,9 @@
|
|||
:desc "Quit Emacs" "q" #'kill-emacs
|
||||
:desc "Save and quit Emacs" "Q" #'save-buffers-kill-terminal
|
||||
(:when (featurep! :feature workspaces)
|
||||
:desc "Quit Emacs & forget session" "X" #'+workspace/kill-session-and-quit
|
||||
:desc "Restart & restore Emacs" "r" #'+workspace/restart-emacs-then-restore)
|
||||
:desc "Restart Emacs" "R" #'restart-emacs)
|
||||
:desc "Quit Emacs & forget session" "X" #'+workspace/kill-session-and-quit)
|
||||
:desc "Restart & restore Emacs" "r" #'doom/restart-and-restore
|
||||
:desc "Restart Emacs" "R" #'doom/restart)
|
||||
;; Snippets
|
||||
"&" nil ; yasnippet creates this prefix, we use a different one
|
||||
(:prefix ("s" . "snippets")
|
||||
|
@ -123,15 +123,15 @@
|
|||
:desc "Previous hunk" "[" #'git-gutter:previous-hunk)
|
||||
;; Worspace and window management bindings
|
||||
(:prefix ("w". "workspaces")
|
||||
:desc "Autosave session" "a" #'+workspace/save-session
|
||||
:desc "Autosave session" "a" #'doom/quicksave-session
|
||||
:desc "Display workspaces" "d" #'+workspace/display
|
||||
:desc "Rename workspace" "r" #'+workspace/rename
|
||||
:desc "Create workspace" "c" #'+workspace/new
|
||||
:desc "Delete workspace" "k" #'+workspace/delete
|
||||
:desc "Save session" "s" (λ! (let ((current-prefix-arg '(4))) (call-interactively #'+workspace/save-session)))
|
||||
:desc "Save session" "s" #'doom/save-session
|
||||
:desc "Save workspace" "S" #'+workspace/save
|
||||
:desc "Load session" "l" #'+workspace/load-session
|
||||
:desc "Load last autosaved session" "L" #'+workspace/load-last-session
|
||||
:desc "Load session" "l" #'doom/load-session
|
||||
:desc "Load last autosaved session" "L" #'doom/quickload-session
|
||||
:desc "Kill other buffers" "o" #'doom/kill-other-buffers
|
||||
:desc "Undo window config" "u" #'winner-undo
|
||||
:desc "Redo window config" "U" #'winner-redo
|
||||
|
|
|
@ -544,14 +544,12 @@
|
|||
:desc "Display tab bar" "TAB" #'+workspace/display
|
||||
:desc "New workspace" "n" #'+workspace/new
|
||||
:desc "Load workspace from file" "l" #'+workspace/load
|
||||
:desc "Load a past session" "L" #'+workspace/load-session
|
||||
:desc "Save workspace to file" "s" #'+workspace/save
|
||||
:desc "Autosave current session" "S" #'+workspace/save-session
|
||||
:desc "Switch workspace" "." #'+workspace/switch-to
|
||||
:desc "Delete session" "x" #'+workspace/kill-session
|
||||
:desc "Delete this workspace" "d" #'+workspace/delete
|
||||
:desc "Rename workspace" "r" #'+workspace/rename
|
||||
:desc "Restore last session" "R" #'+workspace/load-last-session
|
||||
:desc "Restore last session" "R" #'+workspace/restore-last-session
|
||||
:desc "Next workspace" "]" #'+workspace/switch-right
|
||||
:desc "Previous workspace" "[" #'+workspace/switch-left
|
||||
:desc "Switch to 1st workspace" "1" (λ! (+workspace/switch-to 0))
|
||||
|
@ -757,12 +755,15 @@
|
|||
:desc "List project tasks" "t" #'+default/project-tasks
|
||||
:desc "Invalidate cache" "x" #'projectile-invalidate-cache)
|
||||
|
||||
(:prefix ("q" . "quit/restart")
|
||||
(:prefix ("q" . "session")
|
||||
:desc "Quit Emacs" "q" #'evil-quit-all
|
||||
:desc "Save and quit Emacs" "Q" #'evil-save-and-quit
|
||||
:desc "Quit Emacs & forget session" "X" #'+workspace/kill-session-and-quit
|
||||
:desc "Restart & restore Emacs" "r" #'+workspace/restart-emacs-then-restore
|
||||
:desc "Restart Emacs" "R" #'restart-emacs)
|
||||
:desc "Quick save current session" "s" #'doom/quicksave-session
|
||||
:desc "Restore last session" "l" #'doom/quickload-session
|
||||
:desc "Save session to file" "S" #'doom/save-session
|
||||
:desc "Restore session from file" "L" #'doom/load-session
|
||||
:desc "Restart & restore Emacs" "r" #'doom/restart-and-restore
|
||||
:desc "Restart Emacs" "R" #'doom/restart)
|
||||
|
||||
(:when (featurep! :tools upload)
|
||||
(:prefix ("r" . "remote")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue