Copyright | (c) 2007 David Roundy <droundy@darcs.net> |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | none |
Stability | unstable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
WorkspaceDir is an extension to set the current directory in a workspace.
Actually, it sets the current directory in a layout, since there's no way I know of to attach a behavior to a workspace. This means that any terminals (or other programs) pulled up in that workspace (with that layout) will execute in that working directory. Sort of handy, I think.
Note this extension requires the directory
package to be installed.
Synopsis
- workspaceDir :: LayoutClass l a => String -> l a -> ModifiedLayout WorkspaceDir l a
- changeDir :: XPConfig -> X ()
- data WorkspaceDir a
- newtype Chdir = Chdir String
Usage
You can use this module with the following in your xmonad.hs
:
import XMonad.Layout.WorkspaceDir
Then edit your layoutHook
by adding the Workspace layout modifier
to some layout:
myLayout = workspaceDir "~" (Tall 1 (3/100) (1/2)) ||| Full ||| etc.. main = xmonad def { layoutHook = myLayout }
For more detailed instructions on editing the layoutHook see the tutorial and XMonad.Doc.Extending.
WorkspaceDir provides also a prompt. To use it you need to import XMonad.Prompt and add something like this to your key bindings:
, ((modm .|. shiftMask, xK_x ), changeDir def)
If you prefer a prompt with case-insensitive completion:
, ((modm .|. shiftMask, xK_x ),
changeDir def {complCaseSensitivity = CaseInSensitive})
For detailed instruction on editing the key binding see:
workspaceDir :: LayoutClass l a => String -> l a -> ModifiedLayout WorkspaceDir l a Source #
data WorkspaceDir a Source #