All you say is true... But I still run emacs in screen :P
I know I should run a single emacs instances and use projectile or whatever to switch context, but for me it's just easier to run many screen sessions (with descriptive names via `screen -S my-session-name`, attaching via `screen -r my-session-name`) and an emacs instance for each screen session.
One day I'll improve my emacs-fu and I'll use a single emacs instance for everything.
I also prefer many Emacs instances. It simplifies some things like e.g. making Emacs packages aware of Python virtual environments if you can just run a separate Emacs instance per environment, instead of stuff like direnv.el.
I know I should run a single emacs instances and use projectile or whatever to switch context, but for me it's just easier to run many screen sessions (with descriptive names via `screen -S my-session-name`, attaching via `screen -r my-session-name`) and an emacs instance for each screen session.
One day I'll improve my emacs-fu and I'll use a single emacs instance for everything.