| Copyright | (c) 2007 David Roundy <droundy@darcs.net> |
|---|---|
| License | BSD3-style (see LICENSE) |
| Maintainer | none |
| Stability | unstable |
| Portability | unportable |
| Safe Haskell | None |
| Language | Haskell2010 |
XMonad.Layout.WorkspaceDir
Contents
Description
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 #
Instances
| LayoutModifier WorkspaceDir Window Source # | |
Defined in XMonad.Layout.WorkspaceDir Methods modifyLayout :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source # modifyLayoutWithUpdate :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WorkspaceDir Window)) Source # handleMess :: WorkspaceDir Window -> SomeMessage -> X (Maybe (WorkspaceDir Window)) Source # handleMessOrMaybeModifyIt :: WorkspaceDir Window -> SomeMessage -> X (Maybe (Either (WorkspaceDir Window) SomeMessage)) Source # pureMess :: WorkspaceDir Window -> SomeMessage -> Maybe (WorkspaceDir Window) Source # redoLayout :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source # pureModifier :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) Source # hook :: WorkspaceDir Window -> X () Source # unhook :: WorkspaceDir Window -> X () Source # modifierDescription :: WorkspaceDir Window -> String Source # modifyDescription :: LayoutClass l Window => WorkspaceDir Window -> l Window -> String Source # | |
| Read (WorkspaceDir a) Source # | |
Defined in XMonad.Layout.WorkspaceDir Methods readsPrec :: Int -> ReadS (WorkspaceDir a) readList :: ReadS [WorkspaceDir a] readPrec :: ReadPrec (WorkspaceDir a) readListPrec :: ReadPrec [WorkspaceDir a] | |
| Show (WorkspaceDir a) Source # | |
Defined in XMonad.Layout.WorkspaceDir Methods showsPrec :: Int -> WorkspaceDir a -> ShowS show :: WorkspaceDir a -> String showList :: [WorkspaceDir a] -> ShowS | |