Commit graph

54 commits

Author SHA1 Message Date
Henrik Lissner
a9402cfb55
Fix #2373: bring back package pinning
This needs some serious refactoring...
2020-01-25 19:02:00 -05:00
Henrik Lissner
4cc14389e8
PIN ALL THE PACKAGES 2020-01-14 22:32:11 -05:00
Henrik Lissner
9fce4d5106
Remove +workspace-buffer-list return order #2315
I cannot guarantee this. We simply return was `persp-buffers PERSP`
returns. How buffers are ordered is up to persp-mode.
2020-01-06 00:58:08 -05:00
Henrik Lissner
195dfda045
Minor refactors & comment revision 2020-01-02 21:16:02 -05:00
Henrik Lissner
adc8cba14b
Revise docstrings & minor reformatting 2019-12-26 01:41:44 -05:00
Henrik Lissner
458cdd5df4
ui/workspaces: remove extra workspaces when restoring sessions 2019-12-22 19:59:22 -05:00
Henrik Lissner
a49c0b6691
Output feedback from buffer/session kill commands 2019-12-21 03:30:44 -05:00
Henrik Lissner
c13b8df5df
Minor refactors & reformatting 2019-12-05 14:56:16 -05:00
Henrik Lissner
35ce37532b
ui/workspaces: merge +ivy/workspace/switch-to into +workspace/switch-to
Relevant to #2127
Closes #2130
2019-12-01 15:41:28 -05:00
Rudi Grinberg
4b77b413c5 Add ivy command for workspace switching 2019-12-01 16:13:40 +07:00
Rudi Grinberg
dd004dea79 Easier creation of named workspaces
When a user tries to switch to a named workspace that doesn't exist,
creat it, instead of just failing.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2019-12-01 15:10:51 +07:00
Henrik Lissner
d347574d30
Fix #1973: selected region survives switching workspaces
Leaving behind ineffectual region highlights
2019-10-28 23:23:13 -04:00
Henrik Lissner
4ccb69dbd0
ui/workspaces: fix unrenamed workspace on project-switch #1942 2019-10-25 02:42:54 -04:00
Henrik Lissner
a3fa1e07b1
Refactor doom/kill-*-buffer commands 2019-10-10 16:11:42 -04:00
Foivos Zakkak
c5f34a7d04
Fix #+SINCE in ui/workspaces/README.org 2019-10-10 01:48:05 +03:00
Foivos Zakkak
11e4e81d79
Update Commands & Keybindings in Workspaces README 2019-10-10 00:43:43 +03:00
Henrik Lissner
d297dc6934
Minor refactor & comment revision across the board 2019-10-03 23:33:59 -04:00
Henrik Lissner
3f7e0fd103
Fix +workspace/delete changing workspaces
...when deleting other workspaces.
2019-09-29 23:12:43 -04:00
Henrik Lissner
060f6a36d3
Fix +workspace/delete initially filtering workspaces
SPC u SPC TAB d will prompt you for the workspace you want to delete,
with the name of the current workspace prefilled into the the
minibuffer. This filters out all other workspaces from the get go, which
may fool you into thinking you can only delete the current workspace.

Now it only selects the current workspace by default, without filtering
them.
2019-09-29 12:50:20 -04:00
Henrik Lissner
525193f94b
ui/workspaces: fset -> defalias
Allows these commands to be advised.
2019-09-26 17:55:33 -04:00
Henrik Lissner
e10cd8cf2e
Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
Henrik Lissner
f7c368c5da
ui/workspaces: associate files opened via emacsclient
...with the current workspace.
2019-09-14 18:28:30 -04:00
Henrik Lissner
059ede53b6
Update all unit tests
To meet changes introduced from the straight branch merge.
2019-09-03 00:59:46 -04:00
Henrik Lissner
9e122c6847
ui/workspaces: fix session restoration
Caused by an inverted buffer filter when saving the current session.
2019-08-28 12:41:00 -04:00
Henrik Lissner
243d69bb6d
ui/workspaces: don't register filtered buffers
May indirectly address #1525
2019-08-22 14:45:40 -04:00
Henrik Lissner
9b1c49149c
New fix for #1525: 'selecting deleted buffer' error 2019-08-21 00:29:02 -04:00
Henrik Lissner
58fb9faf3a
ui/workspaces: use add-hook! for inline hook 2019-08-17 16:04:41 -04:00
Henrik Lissner
0cf669ab92
Fix fix for #1525
Original fix complained about void function setf persp-buffers.
2019-08-15 21:30:59 -04:00
Henrik Lissner
e32fd0c7e1
Fix #1525: selecting deleted buffer errors
...when killing Emacs or switching perspectives.
2019-08-15 21:14:21 -04:00
Henrik Lissner
db1c1995fd
ui/workspaces: fix evil-window-delete remapping
Relevant to #1641
2019-08-08 23:58:41 -04:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Henrik Lissner
3313212f90
ui/workspaces: correct inline defun hooks
And add-to-list -> add-hook, because its a tiny bit faster (and fewer
characters).
2019-07-27 17:08:56 +02:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
5e0177d667
ui/workspaces: conform to new hook/advice conventions 2019-07-22 02:37:47 +02:00
Henrik Lissner
c5cd29ef74
ui/workspaces: refactor restoration of indirect buffers 2019-07-08 21:21:02 +02:00
Henrik Lissner
525cba3f3b
ui/workspaces: fix +workspaces|init for daemon 2019-06-26 19:17:56 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
b5c5b7f10d
Move posframe+persp-mode fix to ui/workspaces 2019-06-26 14:31:06 +02:00
Henrik Lissner
9823881d47
ui/workspaces: general refactor
- Fixes #1506: unsets uniquify-buffer-name-style to work around breakage
  in persp-mode having to do with buffers being retrospectively renamed.
  See Bad-ptr/persp-mode.el#104.
- Move creation of main workspace into persp-mode-hook, to ensure main
  workspace always exists and nil workspace is never active.
- Remove +workspaces|init-frame and significantly reduce LOC in
  +workspaces|init to the bare essentials. This _may_ break persp-mode
  in daemon Emacs, but I'll deal with that next.
2019-06-26 14:30:37 +02:00
Henrik Lissner
7a4bce3f9a
ui/workspaces: associate buffers on buffer switch
We stop relying on the built-in mechanism for auto-registering a buffer
to the current workspace, because it misses many buffers (e.g. when we
switch buffers with SPC b b). Instead, we add buffers when they are
interactively switched to.
2019-06-26 14:28:40 +02:00
Henrik Lissner
f2d7c5625d
Revise comments & docstring 2019-06-18 14:43:05 +02:00
Henrik Lissner
80958c0c17
Ensure non-dedicated window is active on workspace creation
Otherwise, workspaces are left in a broken state where they only contain
dedicated/side-windows, which Emacs can't handle well.

Indirectly fixes #1492
2019-06-14 12:34:23 +02:00
Henrik Lissner
bc6c4b3e37
Add +workspace/other #1480
- Rename +workspace/switch-to-last to +workspace/switch-to-final, to
  avoid ambiguity.
- Add +workspace/switch-to-N commands
2019-06-11 16:12:06 +02:00
Henrik Lissner
e7c12b1bb6
ui/workspace: minibuffer-message -> message
minibuffer-message adds 2 seconds to emacsclient calls that create new
workspaces.
2019-06-10 09:38:55 +02:00
Henrik Lissner
2214c3175e
Minor tweaks across the board 2019-05-21 00:34:32 -04:00
Henrik Lissner
928ec16242
ui/workspaces: remove unused function 2019-05-19 02:17:59 -04:00
Henrik Lissner
dce3d0ddc6
Fix evil-alternate-buffer + persp-mode
Fixes an issue where evil-switch-to-windows-last-buffer would switch to
buffers outside the current workspace.
2019-05-19 02:17:59 -04:00
Henrik Lissner
ca8202c224
Standardize the READMEs of various modules 2019-05-09 21:31:23 -04:00