XMonad.Layout.WorkspaceDir

xmonad-contrib-0.18.1: Community-maintained extensions for xmonad

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

- Usage

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:

the tutorial.

workspaceDir :: LayoutClass l a => String -> l a -> ModifiedLayout WorkspaceDir l a #

changeDir :: XPConfig -> X () #

data WorkspaceDir a #

#### Instances

Instances details

LayoutModifier WorkspaceDir Window # |
Instance details Defined in XMonad.Layout.WorkspaceDir Methods modifyLayout :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) # modifyLayoutWithUpdate :: LayoutClass l Window => WorkspaceDir Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (WorkspaceDir Window)) # handleMess :: WorkspaceDir Window -> SomeMessage -> X (Maybe (WorkspaceDir Window)) # handleMessOrMaybeModifyIt :: WorkspaceDir Window -> SomeMessage -> X (Maybe (Either (WorkspaceDir Window) SomeMessage)) # pureMess :: WorkspaceDir Window -> SomeMessage -> Maybe (WorkspaceDir Window) # redoLayout :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) # pureModifier :: WorkspaceDir Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (WorkspaceDir Window)) # hook :: WorkspaceDir Window -> X () # unhook :: WorkspaceDir Window -> X () # modifierDescription :: WorkspaceDir Window -> String # modifyDescription :: LayoutClass l Window => WorkspaceDir Window -> l Window -> String #
Read (WorkspaceDir a) # |
Instance details 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) # |
Instance details Defined in XMonad.Layout.WorkspaceDir Methods showsPrec :: Int -> WorkspaceDir a -> ShowS # show :: WorkspaceDir a -> String # showList :: [WorkspaceDir a] -> ShowS #

newtype Chdir #

Constructors

Chdir String |

#### Instances

Instances details

Message Chdir # |
Instance details Defined in XMonad.Layout.WorkspaceDir