Bryan Gilbert
46a5be1e52
Don't open doom-fallback-buffer
on del workspace
...
The `current-buffer` wasn't being updated after switching workspaces and
was therefore failing the `doom-buffer-frame-predicate` check.
2019-03-27 20:17:19 -04:00
Andrew Whatson
a48417cf0d
Only switch to dashboard when creating a new workspace
2019-03-08 12:56:06 +10:00
Henrik Lissner
8a90f29c91
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)
2019-03-02 01:34:19 -05:00
Quentin Le Guennec
db9bc3848d
feature/workspaces: Fix +workspace-delete to match docstring
2018-10-30 19:10:16 +01:00
Henrik Lissner
6515efa19e
feature/workspaces: add +workspaces-on-switch-project-behavior #836
...
To control when a new workspace is created when switching projectile
projects.
2018-10-03 00:00:56 -04:00
Henrik Lissner
e7fc1d3290
Fix wrong-type-arg: stringp, nocache errors
...
Fix old usage of doom-project-name and doom-project-root.
2018-09-28 23:49:18 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
...
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
bd7f1f6d17
Fix wrong-type-arg on project switch #836
...
A regression caused by e40a58c4
, which made +workspace-new return
something other than a perspective struct.
2018-08-27 20:07:17 +02:00
Henrik Lissner
1ed8894826
+workspace/delete: error if workspace doesn't exist
2018-08-26 14:14:53 +02:00
Henrik Lissner
e40a58c423
Optimize +workspace-new & workspace creation
...
This is much faster than the old method of switching to the persp to
modify them.
2018-08-26 14:12:50 +02:00
Henrik Lissner
34de826ac4
+workspace-contains-buffer-p -> persp-contain-buffer-p
...
Wrapper is unnecessary.
Also remove unnecessary type checking.
2018-07-09 21:53:50 +02:00
Henrik Lissner
1a068f82f1
Add +workspace/load-last-session
...
And fix the load last session button on dashboard.
2018-07-07 11:41:24 +02:00
Henrik Lissner
eebe852de4
Fix workspace cleaning up visible popups
...
On :cleanup or doom/cleanup-session
2018-06-30 23:16:48 +02:00
Henrik Lissner
91c4448ed2
Refactor +workspaces|associate-frame
...
No need to set current frame on first frame.
2018-06-30 02:29:19 +02:00
Henrik Lissner
83ba527afd
Refactor auto-add-buffer functionality
...
Use built-in mechanism for auto-adding buffers to current workspace,
rather than reinvent the wheel.
2018-06-30 02:29:18 +02:00
Henrik Lissner
537cc9e1ed
Rewrite doom-real-buffer-p; require first arg
...
Because of how widely used this function is, I'd rather it be as
explicit as possible to avoid bugs and to make it faster.
2018-06-30 01:57:51 +02:00
Henrik Lissner
863fa16bcc
Refactor +workspace/new: use persp-copy
...
Instead of manually adding buffers to new workspace.
2018-06-23 19:59:17 +02:00
Henrik Lissner
fbf7834d93
Don't delete workspace if visible in another frame
...
This leaves persp-mode in a semi-broken state.
2018-06-23 19:53:58 +02:00
Henrik Lissner
d5adf4ccbc
Minor refactor of feature/workspaces
...
Improve error handling and update docstrings+comments
2018-06-19 15:00:15 +02:00
Henrik Lissner
d979c46ea2
Make +workspaces-load-session replace current
...
It should not merge with the current session.
2018-06-19 14:53:45 +02:00
Henrik Lissner
e703d3ec8a
Fix default workspace tab faces
...
The inherited faces were double-quoted
2018-06-19 14:18:31 +02:00
Henrik Lissner
e2979e5b82
Fix +workspace/delete when one workspace is left
2018-05-29 00:42:33 +02:00
James Conroy-Finn
217ff2cd54
Fix use of +workspaces-data-file in +workspace/load
2018-05-19 15:02:54 +01:00
Henrik Lissner
0bd88b8414
Add restart-emacs package & commands
2018-05-14 13:05:03 +02:00
Henrik Lissner
5426fe072c
feature/workspaces: autoload faces
2018-05-10 21:09:54 +02:00
Henrik Lissner
776886a0a4
feature/workspaces: restore missing +workspace/{save,load} commands
2018-04-26 05:10:58 -04:00
Henrik Lissner
39836fc15d
feature/workspace: disable autosave on manual autosave
...
+workspace/save-session without a name = autosaves the current session.
Doing so now disables autosaving on kill-emacs, otherwise your autosave
would be overwritten when closing Emacs.
2018-04-21 21:03:23 -04:00
Amos Bird
b2b603240f
fix workspace switch-left cycle.
2018-04-05 21:24:13 +08:00
Henrik Lissner
54c6301f45
feature/workspaces: reduce redundancy in +workspace/kill-session
2018-04-02 05:51:01 -04:00
Henrik Lissner
aad653d913
feature/workspaces: clear last workspace instead of erroring out
2018-04-02 05:50:39 -04:00
Henrik Lissner
3f4c2c81d9
feature/workspaces: if universal arg, don't prompt for file on project switch
2018-03-23 16:03:29 -04:00
Henrik Lissner
61206a553d
feature/workspaces: add sharp-quote
2018-03-22 06:28:00 -04:00
Henrik Lissner
d5683ba681
feature/workspaces: fix recursive load errors on 25.x #470
...
+workspaces|protect-buffers-in-other-persps was unnecessary, in any
case.
2018-03-22 06:26:42 -04:00
Henrik Lissner
d84222b6d0
feature/workspaces: use new switch-buffer hooks
2018-03-14 18:31:48 -04:00
Henrik Lissner
a17fc86761
feature/workspaces: fix buffer getting killed across workspaces
2018-03-12 13:33:50 -04:00
Henrik Lissner
e659ab0609
feature/workspaces: refactor switch-project integration
2018-02-20 17:56:38 -05:00
Henrik Lissner
7707aec28a
Remove doom group
...
Not really useful, and Doom doesn't encourage using the Emacs Customize
interface.
2018-02-18 03:04:58 -05:00
Henrik Lissner
f2a4028f30
feature/workspaces: refactor +workspace-buffer-list
2018-02-10 02:16:50 -05:00
Henrik Lissner
f35a49dc7e
feature/workspaces: redefine +workspace/kill-session-and-quit
2018-02-07 19:27:41 -05:00
Henrik Lissner
68a4c85088
feature/workspaces: have switch-project recycle empty workspaces
...
If you're in an empty workspace, reuse it, rather than spawning a new
one. This lets you create a new workspace *then* switch project.
2018-02-06 17:49:55 -05:00
Henrik Lissner
1db29a951e
feature/workspaces: fix counsel-projectile-switch-project actions
2018-02-06 13:50:26 -05:00
Henrik Lissner
b6ee578cda
feature/workspace: fix new frames with unreal buffers + no buffer predicate
2018-02-04 02:21:35 -05:00
Henrik Lissner
cbd6bf190a
feature/workspaces: minor refactor
2018-02-02 20:47:33 -05:00
Henrik Lissner
d9a80a9520
feature/workspaces: fix buffer-bleedover from other workspaces
...
The frame buffer-predicate wasn't discriminating against buffers that
were in other perspectives, allowing you to `next-buffer` into them.
UNACCEPTABLE.
2018-02-02 20:47:33 -05:00
Henrik Lissner
c319b606cd
feature/workspaces: don't pollute *Messages* with tabbar output
2018-02-02 20:47:32 -05:00
Henrik Lissner
2989296521
Use frame's buffer-predicate instead of doom/{next,previous}-buffer
...
doom/{next,previous}-buffer was implemented so that these commands could
skip over unreal buffers, and land us on either a real one or the
dashboard. Using the frame's buffer-predicate parameter accomplishes
exactly this, natively.
2018-02-01 19:58:43 -05:00
Henrik Lissner
c97c460ce2
feature/workspaces: fix switch-project #388
...
+ Fix recursive find-file-in-project prompt with counsel-projectile.
+ Fix duplicate-workspace error (just switches to that workspace, rather
than trying to create one).
+ Fix dashboard replacing current buffer when switching to
a pre-existing project workspace.
2018-01-31 04:54:48 -05:00
Henrik Lissner
81bba9c0bc
feature/workspace: fix frames incorrectly initialized via emacsclient
...
A new workspace is now correctly created for files opened via
emacsclient. This fixes #119 . Again.
2018-01-31 01:13:59 -05:00
Henrik Lissner
22f4404210
feature/workspace: improve daemon/frame compatibility
...
This update fixes issues with frame-local perspectives, and ensures that
a workspace is always selected in a daemon session's frames.
2018-01-28 20:32:10 -05:00
Henrik Lissner
38c0a85155
feature/workspaces: display tab line in minibuffer
...
This prevents the tabline from being mirrored across all frames.
2018-01-28 20:30:44 -05:00