One of the changes I made in my workflow is stop using tmux, screen or any other terminal manager in my local machine and let XMonad handle everything.
There was a little thing I had using tmux I never managed to solve in XMonad and it is the fact that when I opened a new terminal the current dir was always home directory instead of the base dir of the project I am working on.
I've just recently found WorkspaceDir in xmonad-contrib to let you change your current directory in your workspace.
That creates a beautiful mental model where you spawn a new terminal and it automatically starts in the place you expect it to be.
To do that you just have to assign the shortcut to a call to changeDir :: XPConfig -> X ()
. For example in my case, using additionalKeysP:
import XMonad.Layout.WorkspaceDir
[...]
("M-c", changeDir <your prompt config>),
[...]
myLayouts = workspaceDir "~" $ <rest of your layout config>
That way you can just pop up a beautiful dialog to change folder:
You can check my config as a reference.
Photo by Georgie Cobbs on Unsplash
Top comments (0)