These optional dotfiles indicate the root of a module or module group (:lang), and will later contain module metadata. They will also serve as an alternative to packages.el and doctor.el, and will aide the parts of the v3.0 module API concerned with resolving the current module from a path (`doom-module-from-path`), which currently rely too heavily on parsing path strings. For now, however, they're simply placeholders. |
||
---|---|---|
.. | ||
autoload | ||
test | ||
.doommodule | ||
config.el | ||
packages.el | ||
README.org |
:ui workspaces
Description unfold
This module adds support for workspaces, powered by doom-package:persp-mode, as well as a API for manipulating them.
💡 There are many ways to use workspaces. I spawn a workspace per task. Say I'm working in the main workspace, when I realize there is a bug in another part of my project. I open a new workspace and deal with it in there. In the meantime, I need to check my email, so mu4e gets its own workspace.
Once I've completed the task, I close the workspace and return to main.
Maintainers
Module flags
This module has no flags.
Packages
TODO Hacks
This module's hacks haven't been documented yet. Document them?
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module has no external requirements.
TODO Usage
This module's usage documentation is incomplete. Complete it?
Isolated buffer-list
When persp-mode is active, doom-buffer-list
becomes workspace-restricted. You
can overcome this by using buffer-list
.
Automatic workspaces
A workspace is automatically created (and switched to) when you:
- Create a new frame (with
make-frame
; bound to M-N by default). - Switch to a project using
projectile-switch-project
.
Session persistence
By default, your session is autosaved when you quit Emacs (or disable
persp-mode
). You can load a previous session with M-x
+workspace/load-session
or :sl[oad]
(ex command).
You can supply either a name to load a specific session to replace your current one.
Workspace persistence
If you'd like to save a specific workspace, use M-x +workspace/save
, which can
be loaded into the current session (as another workspace) with M-x
+workspace/load
.
Commands & Keybindings
Here is a list of available commands, their default keybindings (defined in config/default/+bindings.el), and corresponding ex commands (if any – defined in config/default/+evil-commands.el).
command | key / ex command | description |
---|---|---|
+workspace/new |
SPC TAB n | Create a new, blank workspace |
+workspace/display |
SPC TAB TAB | Display open workspaces in the mode-line |
+workspace/load |
SPC TAB l | Load a saved workspace into the current session |
+workspace/restore-last-session |
SPC TAB R | Restore last session |
+workspace/rename |
SPC TAB r | Rename the current workspace |
+workspace/save |
SPC TAB s | Save the current workspace to a file |
+workspace/switch-to |
SPC TAB . | Switch to an open workspace |
+workspace/other |
SPC TAB ` | Switch to last workspace |
+workspace/switch-left |
SPC TAB [ / [ w / gT | Switch to previous workspace |
+workspace/switch-right |
SPC TAB ] / ] w / gt | Switch to next workspace |
+workspace/kill |
SPC TAB d | Delete the current workspace |
+workspace/kill-session |
SPC TAB x / :sclear | Clears the current session (kills all windows and buffers) |
TODO Configuration
This module has no configuration documentation yet. Write some?
Troubleshooting
There are no known problems with this module. Report one?
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
This module's appendix is incomplete. Write more?
API
+workspace-list
-> list<Struct>+workspace-list-names
-> list<string>+workspace-buffer-list &optional PERSP
-> bool+workspace-p OBJ
-> bool+workspace-exists-p NAME
-> bool+workspace-get NAME &optional NOERROR
-> Struct+workspace-current &optional FRAME WINDOW
-> Struct+workspace-current-name
-> string+workspace-load NAME
+workspace-load-session NAME
+workspace-save NAME
+workspace-save-session NAME
+workspace-new NAME
+workspace-rename NAME NEW-NAME
+workspace-kill NAME &optional INHIBIT-KILL-P
+workspace-switch NAME &optional AUTO-CREATE-P
+workspace-protected-p NAME
-> bool