Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Keep eshells in another frame (or in usual UI terms, in another Emacs window). You can spawn a new frame for the current instance with C-x 5 2, and close it with C-x 5 0.

When you use multiple frames, they are still connected to the same Emacs process, so they share buffers, kill rings, etc. Personally, I use frames to have Emacs windows on multiple screens and desktops.



Yes, I use separate frames, but I find that having a combined buffer list of shells and editing windows just adds to the context switching overhead - it's just less mental separation of stuff.

I'm not sure what I want exactly - maybe something like separable workspaces that have independent saveable and restorable configurations.


> having a combined buffer list of shells and editing windows just adds to the context switching overhead

Bind that to a key:

  (defun my/list-shells ()
    (interactive)
    (ibuffer nil "*Ibuffer - shells*" '((or (derived-mode . shell-mode)
                                            (derived-mode . eshell-mode)))))
Also, start using the built-in ibuffer instead of regular buffer list, if you aren't yet.

  (global-set-key (kbd "C-x C-b") 'ibuffer)
> maybe something like separable workspaces that have independent saveable and restorable configurations

This probably could be handled with one of the couple windowing/"desktop configuration" management packages available on MELPA, but I haven't used any of them so I can't recommend any. Myself, I use a tiling WM, so I just place Emacs frames where I need them and keep them there.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: